Oracle 生成未来三天的整点时间(步骤详解)
需求:X坐标轴时间都为整点时间,展示未来三天内的预测(x轴展示未来三天的整点时间),每3个小时一个刻度,横坐标共计24个刻度
步骤一:取当前时间
SELECTSYSDATEFROMDUAL
步骤二:取24个点
SELECTTO_NUMBER(ROWNUM-1)ASRN,sysdateFROMDUALCONNECTBYROWNUM<25
步骤四:Oracle时间加减
SELECTSYSDATE+1/24FROMDUAL
SYSDATE+1表示时间加一天,1/24表示时间加一小时;
也可用用numtodsinterval
ORACLE日期加减操作
无论是DATE还是timestamp都可以进行加减操作。
可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法:(兼容DM7)
1、使用内置函数numtodsinterval增加小时,分钟和秒
selectsysdate,sysdate+numtodsinterval(30,'hour')fromDUAL;--增加30小时 selectsysdate,sysdate+numtodsinterval(30,'minute')fromDUAL;--增加30分钟 selectsysdate,sysdate+numtodsinterval(30,'second')fromDUAL;--增加30秒
2、加一个简单的数来增加天
selectsysdate,sysdate+3fromDUAL;--增加3天
3、使用内置函数add_months来增加年和月
selectsysdate,add_months(sysdate,4)fromDUAL;--增加4个月 selectsysdate,add_months(sysdate,12*4)fromDUAL;--增加4年
对当前时间作减法,直接在数字前加上‘-'即可。
DM7和SQLServer也可以用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
步骤四:根据每个刻度,判断每个刻度的时间
SELECTto_char(SYSDATE+RN*3/24,'yyyy-mm-ddyyyy-mm-ddhh24:mi:ss')ASaimtime FROM( SELECTTO_NUMBER(ROWNUM-1)ASRN,sysdateFROMDUALCONNECTBYROWNUM<25 )
步骤五:取整点
SELECTto_char(SYSDATE+RN*3/24,'yyyy-mm-ddhh24')||':00'ASaimtime FROM( SELECTTO_NUMBER(ROWNUM-1)ASRN,sysdateFROMDUALCONNECTBYROWNUM<25 )
到此这篇关于Oracle生成未来三天的整点时间(步骤详解)的文章就介绍到这了,更多相关Oracle生成整点时间内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。