2009-11-18 19 views
20

voglio convertire la stringa seguito fino ad oggi:String fino ad oggi in Oracle con millisecondi

2004-09-30 23:53:48,140000000 

ho provato:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9') 

Ma PL/SQL continuare a lanciare questo errore:

ORA-01821: date format not recognized. 

FF9 non è corretto per Oracle, qualche suggerimento?

risposta

53

Oracle memorizza solo le frazioni fino al secondo in un campo DATE.

Uso TIMESTAMP invece:

SELECT TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') 
FROM dual 

, forse il cast a un DATE poi:

SELECT CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE) 
FROM dual 
3

non credo che si può usare frazioni di secondo con to_date o il tipo di data in Oracle. Penso che sia necessario to_timestamp che restituisce un tipo TIMESTAMP.

Problemi correlati