oracle 日期函数

1.sysdate   返回系统当前日期

2.months_between(end_date,start_date)  返回两个日期之间的月数差,注意:是前一个日期减去后一个日期

3.add_months(date,num)   返回日期加上月数之后的日期,num可为正也可为负

4.next_day(date,'星期几')  返回距离日期最近的星期几的日期,返回日期大于等于date

另外next_day(date,1-7的数值)  返回距离日期最近的一周第几天的日期,一般以周日作为第一天

5.last_day(date)   返回当前日期所在月份的最后一天

6.round(date,'格式')

(1)round(date,'yyyy'/'yyy'/'yy'/'y'/'year') 返回距离日期最近的年份的一月一号,一般一遍的前6月返回当年的一月一号,7月到12月返回下一年的一月一号

(2)round(date,'q')  返回最近季度的第一天,如果当个季度没有过半返回当个季度第一个月的第一天,反之则是下个季度的第一天

(3)round(date,'mon'/'month'/'mm'/'rm')  返回月份的第一天,如果当月没有过半,返回当月的第一天,如果当月过半,返回下个月的第一天

(4)round(date,‘day'/'dy'/'d') 返回最近的星期天,一般以星期天作为一周的第一天,如果是周一到周三则返回上周日,如果是周四到周六返回本周日

(5)round(date,'dd'/'j'/或者取消第二个参数不写) 返回当天或第二天日期,如果当天没有过12点则返回当天日期,如果当天过了12点,则返回下一天的日期

(6)round(date,‘cc’/'scc')   返回最近的世纪初的第一天

7.trunc(date,‘格式’)   返回规定日期形式的第一天,格式同round

8.extract(格式 from date '2020-02-02')或者 extract(格式 from timestamp '2020-02-02 12:13:25')

格式有year/month/day/hour/minute/second

9.current_date   返回当前会话时区的当前日期

10.current_timestamp

例如:select current_timestamp from dual; 

返回:21-8月 -22 05.10.41.903000 下午 +08:00

11.interval   变动日期时间数值

select
trunc(sysdate)+(interval '1' second), --加1秒(1/24/60/60)
trunc(sysdate)+(interval '1' minute), --加1分钟(1/24/60)
trunc(sysdate)+(interval '1' hour), --加1小时(1/24)
trunc(sysdate)+(INTERVAL '1' DAY),  --加1天(1)
trunc(sysdate)+(INTERVAL '1' MONTH), --加1月
trunc(sysdate)+(INTERVAL '1' YEAR), --加1年
trunc(sysdate)+(interval '01:02:03' hour to second), --加指定小时到秒
trunc(sysdate)+(interval '01:02' minute to second), --加指定分钟到秒
trunc(sysdate)+(interval '01:02' hour to minute), --加指定小时到分钟
trunc(sysdate)+(interval '2 01:02' day to minute) --加指定天数到分钟
from dual;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值