Une DATE
Oracle ne stocke pas les temps avec plus de précision qu'une seconde. Vous ne pouvez pas stocker des données de précision milliseconde dans un DATE
colonne.
Vos deux options sont soit de tronquer la chaîne des millisecondes avant de la convertir en DATE
, c'est-à-dire
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
ou pour convertir la chaîne en un TIMESTAMP
qui prend en charge la précision à la milliseconde
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )