Oracle
按範圍日期過濾行,僅獲取小時範圍內的行
我希望您過濾日期範圍之間的行,但我只希望您返回前一個日期範圍中包含的每一天的時間範圍的行。
例如,您想過濾掉 2020 年 3 月 1 日到 3 月 3 日之間的所有行,也只過濾掉 14:00 到 18:00 之間的行。
到目前為止,我可以在兩個日期之間或兩個小時之間進行過濾,但是當我將這兩件事放在一起時它不起作用。我沒有任何記錄。
and BEGIN_INTERVAL_TIME BETWEEN to_date('19/04/2020', 'DD/MM/YYYY') AND to_date('20/04/2020','DD/MM/YYYY') and BEGIN_INTERVAL_TIME BETWEEN to_date('15:00:00', 'HH24:MI:SS') AND to_date('16:00:00','HH24:MI:SS')
問候,
SQL> select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot where begin_interval_time between date'2020-04-19' and date'2020-04-22' and begin_interval_time between trunc(begin_interval_time, 'DD') + 14/24 and trunc(begin_interval_time, 'DD') + 18/24 order by 1; SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME ---------- ------------------------- ------------------------- 68 19-APR-20 02.00.54.771 PM 19-APR-20 03.00.57.674 PM 69 19-APR-20 03.00.57.674 PM 19-APR-20 04.00.00.561 PM 70 19-APR-20 04.00.00.561 PM 19-APR-20 05.00.03.472 PM 71 19-APR-20 05.00.03.472 PM 19-APR-20 06.00.06.333 PM 92 20-APR-20 02.00.04.468 PM 20-APR-20 03.00.07.303 PM 93 20-APR-20 03.00.07.303 PM 20-APR-20 04.00.10.168 PM 94 20-APR-20 04.00.10.168 PM 20-APR-20 05.00.13.094 PM 95 20-APR-20 05.00.13.094 PM 20-APR-20 06.00.15.965 PM 116 21-APR-20 02.00.14.249 PM 21-APR-20 03.00.17.113 PM 117 21-APR-20 03.00.17.113 PM 21-APR-20 04.00.19.990 PM 118 21-APR-20 04.00.19.990 PM 21-APR-20 05.00.22.928 PM 119 21-APR-20 05.00.22.928 PM 21-APR-20 06.00.25.839 PM 12 rows selected.