is_my_day < 現在の日付を固定時間 (0600 時間) で取得したい場所で。構文は何ですか?これが現在の形式ですが、自動レポートに一定の時間を指定したいと考えています。Oracle 10 を使用しています。
WHERE
TO_CHAR(MOPACTIVITY.MOPEND, 'yyyy-mm-dd hh24:mi') < TO_CHAR(TRUNC(CURRENT_DATE - 8/24,'hh24'), 'yyyy-mm-dd hh24:mi')
これを行うにはいくつかの方法があります。
DATE値を直接比較するオプション1
WHERE
MOPACTIVITY.MOPEND <
trunc(SYSDATE, 'DD') + INTERVAL '06:00' HOUR TO MINUTE
SYSDATE
- 現在の日付、現在の時刻
TRUNC(SYSDATE, 'DD')
- 現在の日付、00:00 時間
'TRUNC(SYSDATE, 'DD') + INTERVAL '06:00' HOUR TO MINUTE'
- 現在の日付、06:00
オプション 2: 日付値を文字列に変換し、文字列を比較する
WHERE
TO_CHAR(MOPACTIVITY.MOPEND, 'yyyymmddhh24mi') <
to_char(SYSDATE, 'yyyymmdd') || '0600'
to_char(SYSDATE, 'yyyymmdd')
- 戻り値 20130726
これは少し醜いIMOに見えますが、今のところ私が考えることができるのはこれだけです。
WHERE TO_CHAR(MOPACTIVITY.MOPEND, 'yyyy-mm-dd hh24:mi')
< TO_CHAR(TRUNC(TO_DATE(TRUNC(CURRENT_DATE)) + 6/24, 'hh24'), 'yyyy-mm-dd hh24:mi')