Oracle insert timestamp - BIN/A. M. oder PM/P. M. erforderlich

Im SQL Developer die ich erstellt habe, ein export .sql-Datei, die (sehr große). Es enthält Hunderte von Einsätzen wie :

"Insert into SCHEMA.TABLE (
 ... ,
 CREATEDATE,
 MODIFIEDDATE,
 ....
) 
values (
 ... , 
 to_timestamp('20-AUG-12 01.09.53.271000000 AM','DD-MON-RR HH.MI.SS.FF AM'),
 to_timestamp('20-AUG-12 01.09.53.271000000 PM','DD-MON-RR HH.MI.SS.FF PM'),
 ...
);"

Wenn ich es in SQL Developer, funktioniert es einwandfrei. Aber ich kann nicht importieren Sie ein bisschen .sql-Datei mit SQL-Entwickler (oder ich weiß nicht, wie es zu tun).

Wenn ich es mit SQL*Plus bekomme ich folgenden Fehler:

ORA-01855: AM/A. M. oder PM/P. M. erforderlich

Wenn ich entfernen Sie die AM/PM keywords einfügen, SQL*Plus können Sie auf Zeile einfügen, mit Ihnen kein Glück. Was ist das problem mit AM /PM?

Hier ist der genaue insert-Befehl:

Insert into SCHEMA.TABLE(

ENTRYID,GROUPID,COMPANYID,USERID,USERNAME,CREATEDATE,MODIFIEDDATE,
CLASSNAMEID,CLASSPK,CLASSUUID,VISIBLE,STARTDATE,ENDDATE,PUBLISHDATE,
EXPIRATIONDATE,MIMETYPE,TITLE,DESCRIPTION,SUMMARY,URL,HEIGHT,WIDTH,
PRIORITY,VIEWCOUNT

) values (

11902,11005,10136,10178,'Test Test',
to_timestamp('20-AUG-12 01.09.53.271000000 AM','DD-MON-RR HH.MI.SS.FF AM'),
to_timestamp('20-AUG-12 01.09.53.271000000 PM','DD-MON-RR HH.MI.SS.FF PM'),
10076,11900,'AAA',1,null,null,null,null,null,
'ABC','XyZ',null,null,0,0,0,2563

);
Es sollte kein problem sein mit AM/PM einfügen, dass to_timestamp() Aufruf in eine Tabelle mit einem timestamp Spalten funktioniert in SQLPlus. Die AM/PM-literal-Werte sind nicht betroffen durch die NLS-Einstellungen so weit ich bewusst bin, also denke ich nicht, dass könnte das Problem sein. Ich nehme an, Sie haben geschrieben *genau, was Sie gerade ausgeführt; der vollständige Befehl ohne geänderten Namen geben würde, ein bisschen mehr Vertrauen, obwohl, zusammen mit der geänderten version, die funktioniert. Was ist das problem mit SQL-Entwickler; Sie können öffnen Sie eine Skript-Datei und dann "run script"?
Kann man nach einer Probe von Daten aus der SQL-Datei? Ist es immer der 'DD-MON-RR HH.MI.SS.FF AM' format für Uhrzeiten oder ist es immer/manchmal 'DD-MON-RR HH24.MI.SS.FF'?
Huh, stellt sich heraus, dass die meridian-Kennzeichen NLS-empfindlich. Was bedeutet select value from nls_session_parameters where parameter = 'NLS_DATE_LANGUAGE' geben Sie in SQL*Plus? Hoffentlich nicht in Englisch, und Slowakisch wäre eine gute Antwort...

InformationsquelleAutor Mato.Duris | 2013-12-20

Schreibe einen Kommentar