Maison >base de données >tutoriel mysql >Comment résoudre l'erreur ORA-01861 : « Le littéral ne correspond pas à la chaîne de format » dans SQL ?

Comment résoudre l'erreur ORA-01861 : « Le littéral ne correspond pas à la chaîne de format » dans SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 13:18:10526parcourir

How to Resolve the ORA-01861:

ORA-01861 : Résolution de l'erreur « Le littéral ne correspond pas à la chaîne de format » dans SQL

Lors de la tentative d'insertion de données dans une base de données, les utilisateurs peut rencontrer une erreur ORA-01861 indiquant que « le littéral ne correspond pas à la chaîne de format ». Cette erreur se produit lorsque le format d'un littéral utilisé dans une instruction SQL ne correspond pas au format attendu défini dans la chaîne de format.

Dans l'exemple fourni, l'erreur est générée en raison de l'utilisation d'une chaîne littérale. pour la colonne DOB. Le message d'erreur indique que le littéral « 1989-12-09 » ne respecte pas le format de date attendu. Pour résoudre ce problème, la chaîne littérale doit être remplacée par une expression qui convertit la valeur de date en un format de date reconnu.

La solution recommandée consiste à utiliser la fonction TO_DATE() pour convertir la chaîne littérale en un format approprié. format de date. Dans ce cas, l'expression serait :

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

En utilisant cette expression, la valeur de la date sera convertie au format 'AAAA-MM-JJ', qui est compatible avec le format attendu par la DOB colonne. Cette instruction corrigée devrait s'exécuter avec succès sans rencontrer l'erreur ORA-01861 :

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 adhérant aux spécifications de format correctes, les développeurs peuvent éviter l'erreur ORA-01861 et garantir la bonne exécution des instructions SQL.

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