'12-JUN-87'
日付ではなく、文字列リテラルです。
テーブルに挿入する日付を生成する場合は、次のいずれかを行う必要があります。
- ANSI日付リテラル
を使用します :
DATE '1987-06-12'
- または、明示的に、文字列リテラルを日付
:
TO_DATE( '12-JUN-87', 'DD-MON-YY', 'NLS_DATE_LANGUAGE = American' )
文字列リテラルを日付として使用しようとすると、Oracleは暗黙的に日付に変換しようとします NLS_DATE_FORMAT
を使用する フォーマットマスクとしてのセッションパラメータ。このフォーマットマスクが文字列のフォーマットと一致しない場合、例外が生成されます。
注:セッションパラメータはユーザーが変更でき、ユーザーごとに異なる可能性があるため、このデフォルト値に依存しないでください。