Una DATE
de Oracle no almacena tiempos con más precisión que un segundo. No puede almacenar datos de precisión de milisegundos en un DATE
columna.
Sus dos opciones son truncar la cadena de milisegundos antes de convertirla en DATE
, es decir,
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
o para convertir la cadena en un TIMESTAMP
que admite precisión de milisegundos
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )