MENU

oracleでto_dateが機能しない?西暦が0022などになる現象の解決策

今回はoracleのSQLでto_date関数を使用したのに
例えば

2022/01/01


なぜか

0022/01/01

になってしまうときの解消を残しておきます。

これ本当に意味わからないんですよね。
他のサイトとか見てもto_dateでいけるって記載があるんですけど

OB(オブジェクトブラウザー)とかでSQL実行するとこのような現象になります。

おそらく文字コードとかのせいなのではないかと予想。
CSVに出力したファイルだとしっかり2022/01/01とか表示されるので、、

肝心の解決方法ですが

TO_CHAR(TO_DATE(変換したい取得項目,’RRRR/MM/dd’),’yyyy/MM/dd’)

他にも実験してみたところ

TO_CHAR(変換したい取得項目,’yyyy/MM/dd’)

でも一応SQL機能していました。
CHAR型とDATE型って比較できるんですね、、、

oracleは奥が深そうや

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次