SQL "kein gültiger Monat"

8

Ich habe eine Tabelle in SQL wie folgt:

%Vor%

und ich versuche es einzufügen:

%Vor%

Aber ich bekomme den Fehler: ORA-01843: kein gültiger Monat

Dies ist eine Oracle db. Ich bin mir nicht sicher, was mit meinem Datumsformat nicht stimmt.

    
Matt 21.10.2012, 21:56
quelle

4 Antworten

22

Es ist nicht ganz klar, was Sie wollten, also können Sie es versuchen:

  • Für das Format Monat-Tag-Jahr:

    INSERT INTO Reserves VALUES(22, 101, TO_DATE('01-01-1998','MM-DD-YYYY'));

  • Für Tag-Monat-Jahr-Format:

    INSERT INTO Reserves VALUES(22, 101, TO_DATE('01-01-1998','DD-MM-YYYY'));

Lesen Sie auch: Oracle-Funktionen: TO_DATE

    
ppeterka 21.10.2012, 21:59
quelle
9

Sie können das Schlüsselwort date verwenden, um eine ANSI-Standard-Datumszeichenfolge anzugeben:

%Vor%

In diesem Fall lautet das Format JJJJ-MM-TT oder 1. Januar 1998.

    
BellevueBob 21.10.2012 22:21
quelle
5

Wie @Jody auch erwähnt,
Sie können den Standard für Ihre Sitzung ändern, indem Sie diesen Code vor INSERT :

einmal ausführen

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY';

Sie können das Format in beliebiger Reihenfolge ändern.

Quelle: dba-oracle.com

    
Hamed 01.03.2014 21:10
quelle
0

Versuchen Sie '1998-01-01'.

Ich glaube, das Standard-Datumsformat für Oracle ist JJJJ-MM-TT. Sie können den Standardwert für Ihre Sitzung ändern, indem Sie den Änderungssitzungssatz nls_date_format = 'mm-dd-yyyy'

verwenden

Denken Sie daran, dass die meisten Clients dies dauerhaft festlegen können, was Sie möchten

    
Jody 21.10.2012 22:02
quelle

Tags und Links