Fehler ORA-01861: Behebung einer Diskrepanz im DateTime-Format
Das Auftreten des Fehlers ORA-01861 beim Einfügen von Daten in eine Tabelle weist auf eine Diskrepanz zwischen den Daten hin das Format des Eingabeliterals und das erwartete Format, das in der SQL-Anweisung angegeben ist. Um diesen Fehler zu beheben, muss unbedingt sichergestellt werden, dass beide Formate übereinstimmen.
Im gegebenen Beispiel liegt das Problem insbesondere im Feld DOB (Geburtsdatum) in der INSERT-Anweisung:
DOB, '1989-12-09',
Die Literalzeichenfolge „1989-12-09“ stimmt nicht mit dem impliziten Format überein, das von der Oracle-Datenbank für Datumswerte erwartet wird. Um dies zu beheben, können Sie die Funktion TO_DATE() verwenden, um die Zeichenfolge explizit in einen Datumswert mit dem richtigen Format umzuwandeln:
DOB, TO_DATE('1989-12-09', 'YYYY-MM-DD')
In diesem Fall verwendet die Funktion TO_DATE das erste Argument als Zeichenfolgendarstellung des Datums, und das zweite Argument gibt das Format dieser Zeichenfolge an. Das Format „JJJJ-MM-TT“ stellt sicher, dass das Datum als Jahr-Monat-Tag-Wert interpretiert wird.
Oracle erfordert, dass die zum Einfügen bereitgestellten Literaldaten dem von der Zielspalte erwarteten Format entsprechen. Durch Konvertieren des DOB-String-Literals in das richtige Format mit TO_DATE() können Sie den ORA-01861-Fehler beseitigen und die Daten erfolgreich in die Tabelle einfügen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „ORA-01861: Literal stimmt nicht mit Formatzeichenfolge überein' in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!