2016-04-27 11 views
0

Ich versuche, die Zeile unten in der Oracle-Datenbank einzufügen, aber ich bekomme Fehler [22008][1830] ORA-01830: date format picture ends before converting entire input stringEinfügen von Zeitstempeln in Oracle

insert into tbl (coldate, start, end) 
values (
TO_DATE('2005-03-04 02:04:30', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-04-26 23:32:59.430000', 'YYYY-MM-DD HH24:MI:SS') 
); 

Antwort

1

Die Fehlermeldung sagen Ihnen, was Sie tun sollen: Ihr Maskenformat ist auch „short "für den Wert, den Sie bereitstellen. Sie müssen die Sekundenbruchteile in der Formatmaske enthalten für to_timestamp()

TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS.FF6')

Für weitere Informationen über das Format Modell in to_timestamp() verwendet finden Sie im Handbuch:

https://docs.oracle.com/database/121/SQLRF/sql_elements004.htm#CDEHIFJA

1

Sie sind die Sekundenbruchteile fehlen Spezifikation in Ihrem Format Zeichenfolge:

insert into tbl (coldate, start, end) 
values (
TO_DATE('2005-03-04 02:04:30', 'YYYY-MM-DD HH24:MI:SS'), 
TO_TIMESTAMP('2005-03-23 09:06:51.055000', 'YYYY-MM-DD HH24:MI:SS.FF'), 
-- Here ----------------------------------------------------------^ 
TO_TIMESTAMP('2005-04-26 23:32:59.430000', 'YYYY-MM-DD HH24:MI:SS.FF') 
-- And here ------------------------------------------------------^ 
); 
Verwandte Themen