1

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')
4

2 に答える 2

4

これを行うにはいくつかの方法があります。

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

于 2013-07-26T14:49:34.403 に答える
0

これは少し醜い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')
于 2013-07-26T14:49:44.003 に答える