需求:X坐標(biāo)軸時(shí)間都為整點(diǎn)時(shí)間,展示未來(lái)三天內(nèi)的預(yù)測(cè)(x軸展示未來(lái)三天的整點(diǎn)時(shí)間),每3個(gè)小時(shí)一個(gè)刻度,橫坐標(biāo)共計(jì)24個(gè)刻度
步驟一:取當(dāng)前時(shí)間
步驟二:取24個(gè)點(diǎn)
SELECT TO_NUMBER(ROWNUM - 1) AS RN,sysdate FROM DUAL CONNECT BY ROWNUM25
步驟四:Oracle時(shí)間加減
SELECT SYSDATE + 1/24 FROM DUAL
SYSDATE + 1表示時(shí)間加一天,1/24表示時(shí)間加一小時(shí);
也可用用numtodsinterval
ORACLE 日期加減操作
無(wú)論是DATE還是timestamp都可以進(jìn)行加減操作。
可以對(duì)當(dāng)前日期加年、月、日、時(shí)、分、秒,操作不同的時(shí)間類型,有三種方法:(兼容DM7)
1、使用內(nèi)置函數(shù)numtodsinterval增加小時(shí),分鐘和秒
select sysdate, sysdate+numtodsinterval(30,'hour') from DUAL;--增加30小時(shí)
select sysdate, sysdate+numtodsinterval(30,'minute') from DUAL;--增加30分鐘
select sysdate, sysdate+numtodsinterval(30,'second') from DUAL;--增加30秒
2、加一個(gè)簡(jiǎn)單的數(shù)來(lái)增加天
select sysdate, sysdate+3 from DUAL;--增加3天
3、使用內(nèi)置函數(shù)add_months來(lái)增加年和月
select sysdate, add_months(sysdate,4) from DUAL;--增加4個(gè)月
select sysdate, add_months(sysdate,12*4) from DUAL;--增加4年
對(duì)當(dāng)前時(shí)間作減法,直接在數(shù)字前加上‘-'即可。
DM7 和SQL Server 也可以用DATEADD(datepart,number,date)函數(shù)進(jìn)行時(shí)間加減
date 參數(shù)是合法的日期表達(dá)式。number 是您希望添加的間隔數(shù);對(duì)于未來(lái)的時(shí)間,此數(shù)是正數(shù),對(duì)于過(guò)去的時(shí)間,此數(shù)是負(fù)數(shù)。
datepart 參數(shù)可以是下列的值:
- 年 yy, yyyy
- 季度 qq, q
- 月 mm, m
- 年中的日 dy, y
- 日 dd, d
- 周 wk, ww
- 星期 dw, w
- 小時(shí) hh
- 分鐘 mi, n
- 秒 ss, s
- 毫秒 ms
- 微妙 mcs
- 納秒 ns
步驟四:根據(jù)每個(gè)刻度,判斷每個(gè)刻度的時(shí)間
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 ROWNUM25
)
步驟五:取整點(diǎn)
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 ROWNUM25
)
到此這篇關(guān)于Oracle 生成未來(lái)三天的整點(diǎn)時(shí)間(步驟詳解)的文章就介紹到這了,更多相關(guān)Oracle生成整點(diǎn)時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!