Oracle データベース (Oracle バージョン 11g) の weblogic ACTIVE テーブルに問題があります。その問題の調査中に、次のクエリの結果を取得しようとしました。
次のクエリの期待される結果は、現在時刻 + 30 秒を 2 番目のフィールドとして取得する " to_char(sysdate + (30/86400), 'YYYY-MM-DD hh:mm:ss') " です。しかし、別の方法で結果が得られることがあります (最初のフィールドが 2 番目のフィールドよりも 30 秒大きい)。数回実行した後、結果が再び正しい方法で得られます。そしてしばらくすると、間違った結果が得られます。
select to_char(sysdate, 'YYYY-MM-DD hh:mm:ss'), to_char(sysdate + (30/86400), 'YYYY-MM-DD hh:mm:ss') from dual;
ここで何が問題なのかを理解するのを手伝ってくれる人はいますか? これは Oracle DB のバグですか?
間違った結果:
to_char(sysdate, 'YYYY-MM-DD hh:mm:ss') to_char(sysdate + (30/86400), 'YYYY-MM-DD hh:mm:ss')
2013-07-05 10:07:54 2013-07-05 10:07:24
2013-07-05 10:07: 54 2013-07-05 10:07: 24