我試圖表示過去 MONTH 的資料,例如從 4 月 2 日起 30 天,并繼續每月更新資料,以便在 5 月 2 日,資料顯示 5 月 2 日之前的 30 天。
我將顯示我當前的代碼:
SELECT 'Working Equipment' label, count(*) FROM LOGS_HISTORY
WHERE MODE__ = 'Working'
AND TIME_ >= add_months(sysdate, -1)
union all
SELECT 'Standby Equipment' label, count(distinct TAG_IDENTIFIER) FROM LOGS_HISTORY
WHERE MODE__ = 'Standby'
AND TIME_ >= add_months(sysdate, -1)
它顯示 sysdate 前 30 天的資料,請查看并建議我應該更改什么?
uj5u.com熱心網友回復:
根據您的要求,您可以使用:
AND TIME_ >= add_months(trunc(sysdate-1,'MM'),-1)
此示例查詢顯示從 3 月 1 日到 5 月 2 日的 4 月 1 日的開始日期如何變化:
with dates as
( select trunc(date '2022-04-27') rownum d
from dual
connect by level < 10
)
select d as sys_date, add_months(trunc(d-1,'MM'),-1) from_date
from dates
order by 1;
結果:
SYS_DATE FROM_DATE
-------- ---------
28-APR-2022 00:00:00 01-MAR-2022 00:00:00
29-APR-2022 00:00:00 01-MAR-2022 00:00:00
30-APR-2022 00:00:00 01-MAR-2022 00:00:00
01-MAY-2022 00:00:00 01-MAR-2022 00:00:00
02-MAY-2022 00:00:00 01-APR-2022 00:00:00
03-MAY-2022 00:00:00 01-APR-2022 00:00:00
04-MAY-2022 00:00:00 01-APR-2022 00:00:00
05-MAY-2022 00:00:00 01-APR-2022 00:00:00
06-MAY-2022 00:00:00 01-APR-2022 00:00:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/461665.html
上一篇:JavaInstantDatetime如何僅獲取具有時區偏移的日期時間?沒有地區資訊
下一篇:當日期是整數時在R中格式化日期
