ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要があります

とあるテーブルにINSERT文を実行すると、


ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要があります

が発生。

エラーメッセージの意味が分からない…と悩んでいたのですが、問題特定ができました。
テーブルのDATE型の項目にシステム時間(sysdate)を入れたいと思って、


SQL> INSERT INTO SAMPLE_TABLE VALUES ('sysdate');

としていたのが問題でした。


SQL> INSERT INTO SAMPLE_TABLE VALUES ( sysdate );

とシングルクォーテーションを外すことで解決。
つまりこのエラーは、日付型項目に日付として解決できない値を入れようとした時のエラーのようですねー。これはわかんないですよ…。