ホームページ >データベース >mysql チュートリアル >SQL の ORA-01861:「リテラルがフォーマット文字列と一致しません」エラーを解決するにはどうすればよいですか?

SQL の ORA-01861:「リテラルがフォーマット文字列と一致しません」エラーを解決するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-28 13:18:10511ブラウズ

How to Resolve the ORA-01861:

ORA-01861: SQL の「リテラルがフォーマット文字列と一致しません」エラーの解決

データベースにデータを挿入しようとすると、ユーザーは「リテラルがフォーマット文字列と一致しません」という ORA-01861 エラーが発生する場合があります。このエラーは、SQL ステートメントで使用されるリテラルの形式が、形式文字列で定義されている予期される形式と一致しない場合に発生します。

提供された例では、文字列リテラルの使用が原因でエラーが発生します。 DOB列の場合。エラー メッセージは、リテラル '1989-12-09' が予期された日付形式に従っていないことを示しています。この問題を解決するには、文字列リテラルを、日付値を認識される日付形式に変換する式に置き換える必要があります。

推奨される解決策は、TO_DATE() 関数を使用して文字列リテラルを適切な日付形式に変換することです。日付形式。この場合、式は次のようになります:

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

この式を利用すると、日付値は DOB で予期される形式と互換性のある「YYYY-MM-DD」形式に変換されます。カラム。この修正されたステートメントは、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
);

正しい形式の仕様に従うことで、開発者は ORA-01861 エラーを防ぎ、SQL ステートメントを確実に正常に実行できます。

以上がSQL の ORA-01861:「リテラルがフォーマット文字列と一致しません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。