これらのステートメントを実行する場合:
select to_date('201103270100', 'YYYYMMDDHH24MI') from dual;
select to_date('201103270130', 'YYYYMMDDHH24MI') from dual;
次の結果が得られます。
27/3/2011 1:00:00
27/3/2011 1:30:00
どちらが正しいですか。
しかし、実行時:
select to_date('201103270200', 'YYYYMMDDHH24MI') from dual
その結果、間違った時間を取得します
27/3/2011 3:00:00
その他のサンプル:
select to_date('201103270215', 'YYYYMMDDHH24MI') from dual
select to_date('201103270245', 'YYYYMMDDHH24MI') from dual
select to_date('201103270300', 'YYYYMMDDHH24MI') from dual
select to_date('201103270330', 'YYYYMMDDHH24MI') from dual
27/3/2011 3:15:00
27/3/2011 3:45:00
27/3/2011 3:00:00
27/3/2011 3:30:00
日付が 20110326 の場合、正しい結果が得られます。
これはクレイジーです... Oracle SQLはこの変換で私をいじめていますか? ヘルプは大歓迎です!