Một Oracle DATE không lưu trữ thời gian với độ chính xác hơn một giây. Bạn không thể lưu trữ dữ liệu chính xác mili giây trong DATE cột.
Hai tùy chọn của bạn là cắt ngắn chuỗi mili giây trước khi chuyển đổi nó thành DATE , tức là
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
hoặc để chuyển đổi chuỗi thành TIMESTAMP hỗ trợ độ chính xác mili giây
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )