Maison >base de données >tutoriel mysql >Pourquoi mon instruction SQL INSERT aboutit-elle à ORA-01861 : le littéral ne correspond pas à la chaîne de format ?

Pourquoi mon instruction SQL INSERT aboutit-elle à ORA-01861 : le littéral ne correspond pas à la chaîne de format ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 16:00:17437parcourir

Why Does My SQL INSERT Statement Result in ORA-01861: Literal Does Not Match Format String?

ORA-01861 : le littéral ne correspond pas à la chaîne de format

Dans SQL, l'erreur "ORA-01861 : le littéral ne correspond pas à la chaîne de format " se produit lors de l'insertion d'une valeur de données dans une table et le format du littéral ne correspond pas à la chaîne de format spécifiée. Cette erreur se produit souvent lorsque vous tentez d'insérer une valeur de date dans un format spécifique.

Considérez l'instruction INSERT suivante :

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', '1989-12-09', 'M', 02086950291, 07498635200);

Dans cette instruction, la colonne DOB est définie comme une date. Cependant, le format littéral « 1989-12-09 » n'est pas reconnu pour les dates SQL. Pour résoudre ce problème, utilisez la fonction TO_DATE() pour convertir la chaîne littérale dans le format correct :

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);

En spécifiant la chaîne de format 'AAAA-MM-JJ', SQL reconnaît le littéral '1989- 12-09' comme date au format année-mois-jour et l'insère avec succès dans la colonne DOB.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn