Oracle DATE
nie przechowuje czasów z dokładnością większą niż sekunda. Nie można przechowywać danych z dokładnością do milisekund w DATE
kolumna.
Twoje dwie opcje to albo skrócić ciąg milisekund przed przekształceniem go w DATE
, czyli
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
lub przekonwertować ciąg na TIMESTAMP
który obsługuje precyzję milisekundową
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )