oracleのto_dateの落とし穴、MMを省略すると01ではなく当月が入る
もうタイトルそのままなんですが。
select to_date('201802','YYYYMM') from dual
→2018-02-01の日付が入る
select to_date('2018','YYYY') from dual
→実行日が8月なら、2018-08-01が入る
こちら、DDを省略すると「01」日が入るので、
MMも省略したら「01」月が入ると思い込んでいると、軽く痛い目を見ます。
ちなみにYYYYも省略すると、当年が入るため、
YYYY=省略は当年
MM=省略は当月
DD=01
HH24=00
MI=00
SS=00
ということになるようです。
なんていう落とし穴。
参考:
http://www.geocities.jp/oraclesqlpuzzle/8-24.html
コメント