1

これらのステートメントを実行する場合:

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はこの変換で私をいじめていますか? ヘルプは大歓迎です!

4

1 に答える 1