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!
推薦閱讀:
- Oracle根據時間查詢的一些常見情況匯總
- Oracle之TO_DATE用法詳解
- oracle索引的測試實例代碼
- SQL Server中日期時間函數的用法詳解
- MySQL函數date_format()日期格式轉換的實現