Oracle 日期时间函数 NumToYMInterval()、NumToDSInterval() 详解

1 结论

日期间隔函数 'NumToYMInterval()',间隔周期 YEAR 年,MONTH 月
时间间隔函数 'NumToDSInterval()',间隔周期 DAY 天,HOUR 小时,MINUTE 分钟,SECOND

2 详解

2.1 日期间隔 NumToYMInterval()

语法:

NumToYMInterval(n, 'interval_unit')

1. n:数值类型
2. interval_unit 取值如下
   (1) YEAR : 年
   (2) MONTH: 月
   
'解释':每 n 年(year)或月(month) 的时间间隔(interval)

示例:

1. 一年后的时间
   select sysdate + numtoyminterval(1, 'YEAR') from dual;

2. 一个月前的时间
   select sysdate + numtoyminterval(-1, 'MONTH') from dual;

2.2 时间间隔 NumToDSInterval()

语法:

NumToDSInterval(n, 'interval_unit')

1. n:数值类型
2. interval_unit 取值如下
   (1) DAY   : 天
   (2) HOUR  : 时
   (3) MINUTE: 分
   (4) SECOND: 秒
   
'解释':每 n '天、小时、分钟、秒' 的时间间隔(interval)

示例:

1. 一天后的时间
   select sysdate + numtodsinterval(1, 'DAY') from dual;
   
2. 一小时前的时间
   select sysdate + numtodsinterval(-1, 'HOUR') from dual;   

3 扩展

  • 类似的函数:
select add_months(sysdate, 3) "3个月后", 
       add_months(sysdate, -3) "3个月前",
       sysdate + 10/(24*60*60) 十秒后
  from dual;
  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值