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


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",
Michał Kowlaski edytował(a) ten post dnia 14.02.13 o godzinie 15:18
Andrzej W.

Andrzej W. Oracle Database
Developer

Temat: Precyzja daty w Oracle - odejmowanie dat

FF nie wyciągniesz z pola typu DATE bo takich informacji ono nie przechowuje, potrzebował byś pola z datą typu TIMESTAMP.
Michał Kudra

Michał Kudra Dyrektor ds IT/Head
of IT, CWS-boco
Polska Sp. z o.o.

Temat: Precyzja daty w Oracle - odejmowanie dat

Szerzej o tym tu: http://stackoverflow.com/questions/1758219/string-to-d...

Następna dyskusja:

Oracle - select 'format daty'




Wyślij zaproszenie do