to_date()

>select to_date('00000331', 'yyyymmdd') from dual
*
行1でエラーが発生しました。:
ORA-01841: (周)年は-4713と+9999の間の0以外の数を指定する必要があります

>select to_date('00010331', 'yyyymmdd') from dual

TO_DATE('0

                  • -

0001-03-31

>select to_date(sysdate, 'yyyymmdd') from dual
*
行1でエラーが発生しました。:
ORA-01843: 指定した月が無効です。

>select to_date(sysdate, 'yyyy-mm-dd') from dual

TO_DATE(SY

                  • -

2005-12-29

to_date() は文字列を引数に取る。そこに date型 を渡したときは nls_date_format に従って暗黙の変換を行うらしい。