Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler ORA-01861: „Literal stimmt nicht mit der Formatzeichenfolge überein' in SQL?

Wie behebe ich den Fehler ORA-01861: „Literal stimmt nicht mit der Formatzeichenfolge überein' in SQL?

Susan Sarandon
Susan SarandonOriginal
2024-12-28 13:18:10519Durchsuche

How to Resolve the ORA-01861:

ORA-01861: Behebung des Fehlers „Literal stimmt nicht mit Formatzeichenfolge überein“ in SQL

Beim Versuch, Daten in eine Datenbank einzufügen, Benutzer Möglicherweise wird ein ORA-01861-Fehler angezeigt, der besagt, dass das Literal nicht mit der Formatzeichenfolge übereinstimmt. Dieser Fehler tritt auf, wenn das Format eines in einer SQL-Anweisung verwendeten Literals nicht mit dem erwarteten Format übereinstimmt, das in der Formatzeichenfolge definiert ist.

Im bereitgestellten Beispiel wird der Fehler aufgrund der Verwendung eines Zeichenfolgenliterals ausgelöst für die Spalte „Geburtsdatum“. Die Fehlermeldung weist darauf hin, dass das Literal „1989-12-09“ nicht dem erwarteten Datumsformat entspricht. Um dieses Problem zu beheben, sollte das Zeichenfolgenliteral durch einen Ausdruck ersetzt werden, der den Datumswert in ein erkanntes Datumsformat konvertiert.

Die empfohlene Lösung besteht darin, die Funktion TO_DATE() zu verwenden, um das Zeichenfolgenliteral in ein geeignetes Format zu konvertieren Datumsformat. In diesem Fall wäre der Ausdruck:

TO_DATE('1989-12-09','YYYY-MM-DD')

Durch die Verwendung dieses Ausdrucks wird der Datumswert in das Format „JJJJ-MM-TT“ konvertiert, das mit dem vom Geburtsdatum erwarteten Format kompatibel ist Spalte. Diese korrigierte Anweisung sollte erfolgreich ausgeführt werden, ohne dass der Fehler ORA-01861 auftritt:

INSERT INTO Patient  
(
  PatientNo,
  PatientFirstName,
  PatientLastName,
  PatientStreetAddress,
  PatientTown,
  PatientCounty,
  PatientPostcode,
  DOB,
  Gender,
  PatientHomeTelephoneNumber,
  PatientMobileTelephoneNumber
)
VALUES 
(
  121, 
  'Miles', 
  'Malone', 
  '64 Zoo Lane', 
  'Clapham', 
  'United Kingdom',
  'SW4 9LP',
  TO_DATE('1989-12-09','YYYY-MM-DD'),
  'M',
  02086950291,
  07498635200
);

Durch die Einhaltung der korrekten Formatspezifikationen können Entwickler den Fehler ORA-01861 verhindern und die erfolgreiche Ausführung von SQL-Anweisungen sicherstellen.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler ORA-01861: „Literal stimmt nicht mit der Formatzeichenfolge überein' in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn