2013-06-20 7 views
7

Meine Tabelle verfügt über zwei DATE-Formatattribute, aber wenn ich versuche, Wert einzufügen, wird ein Fehler ausgegeben: Datum Format Bild endet vor dem Konvertieren der gesamten Eingabezeichenfolge. Hier ist mein Versuch Code:Oracle-Datumsformat Bild endet vor dem Konvertieren der gesamten Eingabezeichenfolge

insert into visit 
values(123456, '19-JUN-13', '13-AUG-13 12:56 A.M.'); 

denke ich, das Problem mit 12:56 ist aber der Oracle-Dokumentation sagt date sowohl Datum und Zeit bedeutet.

Antwort

14

Vielleicht sollten Sie NLS_DATE_FORMAT überprüfen und die Datumszeichenfolge entsprechen, das Format verwenden. Oder Sie to_date Funktion innerhalb der INSERT Anweisung verwenden können, wie folgt aus:

insert into visit 
values(123456, 
     to_date('19-JUN-13', 'dd-mon-yy'), 
     to_date('13-AUG-13 12:56 A.M.', 'dd-mon-yyyy hh:mi A.M.')); 

Zusätzlich Oracle DATE speichert Datum und Zeit Informationen zusammen.

+0

für Antwort Danke kann zu ändern, habe ich versucht, 'to_date', aber ich habe einen Fehler in der 3. Zeile, in der' to_date' beginnt: "Datumsformat nicht erkannt" – Buras

+0

@Buras Hoppla, da war ein Tippfehler. Ich habe 'mmm' in' mon' umgewandelt. – ntalbs

+0

Vielen Dank. Darf ich eine Frage stellen, habe ich Daten ohne diesen Teil eingefügt: 'dd-mon-yy' ... einfach: '19 -JUN-13 '. Warum funktioniert es nicht in Oracle? Muss ich immer die 'dd-mon ...' dinge angeben? – Buras

2

Was Sie einfügen möchten, ist kein Datum, denke ich, sondern eine Zeichenfolge. Sie müssen to_date() Funktion, wie diese verwenden:

insert into table t1 (id, date_field) values (1, to_date('20.06.2013', 'dd.mm.yyyy')); 
4

Sie benötigen Sitzung

Sie vor versuchen einfügen

sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS' 
+1

Sie sparen meinen Tag, Mann! – tapatio

Verwandte Themen