Michał Kowalski Bazy danych
Temat: Precyzja daty w Oracle - odejmowanie dat
Witam,zwykle przekształcając eksportując pole daty do raportów wystarcza mi dokładność do jednej sekundy. to_char(pole,'yyyy-mm-dd hh24:mi:ss')
Tym razem potrzebuję większej precyzji, przynajmniej do 1/10 sekundy najlepiej do 1/100.
na tej stronie znalazłem:
http://psoug.org/reference/date_func.html
HH24 Hour of day (0-23).
MI Minute (0-59).
SS Second (0-59).
FF Fractional seconds. Use a value from 1 to 9 after FF to indicate the number of digits in the fractional seconds. For example, 'FF5'.
Ostatnia opcja jest chyba tym czego potrzebuję, ale jak z niej skorzystać?
próbowałem różnych sposobów: to_char(pole, 'FF2')
ale zawsze kończy się na tym samym
"ORA-01821: date format not recognized"
Ogólnie zależy mi na odejmowaniu dat, gdzie wynik jest przedstawiany w sekundach z dwoma miejscami po przecinku.
Robię to w ten sposób
Michał Kowlaski edytował(a) ten post dnia 14.02.13 o godzinie 15:18
CAST(to_char(CHS_CON_START_DATE, 'hh24') AS INT)*3600 +
CAST(to_char(CHS_CON_START_DATE, 'mi') AS INT)*60 +
CAST(to_char(CHS_CON_START_DATE, 'ss') AS INT) "D1",
CAST(to_char(CHS_CON_END_DATE, 'hh24') AS INT)*3600 +
CAST(to_char(CHS_CON_END_DATE, 'mi') AS INT)*60 +
CAST(to_char(CHS_CON_END_DATE, 'ss') AS INT) "D2",
current_date-CHS_CON_END_DATE "DE",
to_char(CHS_CON_END_DATE,'hh24:mi') "MAX",