Oracle 生成未來三天的整點時間(步驟詳解)

需求:X坐標軸時間都為整點時間,展示未來三天內的預測(x軸展示未來三天的整點時間),每3個小時一個刻度,橫坐標共計24個刻度

步驟一:取當前時間

SELECT SYSDATE FROM DUAL

步驟二:取24個點

SELECT TO_NUMBER(ROWNUM - 1) AS RN,sysdate FROM DUAL CONNECT BY ROWNUM<25

步驟四:Oracle時間加減

SELECT SYSDATE + 1/24 FROM DUAL

SYSDATE + 1表示時間加一天,1/24表示時間加一小時;
也可用用numtodsinterval

ORACLE 日期加減操作

無論是DATE還是timestamp都可以進行加減操作。
可以對當前日期加年、月、日、時、分、秒,操作不同的時間類型,有三種方法:(兼容DM7

1、使用內置函數numtodsinterval增加小時,分鐘和秒

select sysdate, sysdate+numtodsinterval(30,'hour') from DUAL;--增加30小時
select sysdate, sysdate+numtodsinterval(30,'minute') from DUAL;--增加30分鐘
select sysdate, sysdate+numtodsinterval(30,'second') from DUAL;--增加30秒

2、加一個簡單的數來增加天

select sysdate, sysdate+3 from DUAL;--增加3天

3、使用內置函數add_months來增加年和月

select sysdate, add_months(sysdate,4) from DUAL;--增加4個月
select sysdate, add_months(sysdate,12*4) from DUAL;--增加4年

對當前時間作減法,直接在數字前加上‘-‘即可。

DM7 和SQL Server 也可以用DATEADD(datepart,number,date)函數進行時間加減

date 參數是合法的日期表達式。number 是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

datepart 參數可以是下列的值:

  • 年 yy, yyyy
  • 季度 qq, q
  • 月 mm, m
  • 年中的日 dy, y
  • 日 dd, d
  • 周 wk, ww
  • 星期 dw, w
  • 小時 hh
  • 分鐘 mi, n
  • 秒 ss, s
  • 毫秒 ms
  • 微妙 mcs
  • 納秒 ns

步驟四:根據每個刻度,判斷每個刻度的時間

SELECT to_char(SYSDATE + RN*3/24,'yyyy-mm-dd yyyy-mm-dd hh24:mi:ss') AS aimtime 
FROM(
	SELECT TO_NUMBER(ROWNUM - 1) AS RN,sysdate FROM DUAL CONNECT BY ROWNUM<25
)

步驟五:取整點

SELECT to_char(SYSDATE + RN*3/24,'yyyy-mm-dd hh24')||':00' AS aimtime 
FROM(
	SELECT TO_NUMBER(ROWNUM - 1) AS RN,sysdate FROM DUAL CONNECT BY ROWNUM<25
)

到此這篇關於Oracle 生成未來三天的整點時間(步驟詳解)的文章就介紹到這瞭,更多相關Oracle生成整點時間內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: