Oracle中,我们知道to_date函数可以将字符串转换成时间格式,那如何将数字类型的值转换为日期interval类型的值呢?一共有以下几种方式,总结如下:
1.interval转换
虽然前面说的是数字的转换,但实际上在这里还是将字符串的转换
如将当前时间加1小时30分钟20秒,则可以如下:
select sysdate + interval '1:30:20' hour to second from dual
以上是比较复杂的用法,也可以是直接的数字:
select sysdate + interval '7' hour from dual
2.numtodsinterval转换
该函数用于将数字转换成天到秒(day to second)
比如:
select sysdate + numtodsinterval(10,'day') from dual --10天
select sysdate + numtodsinterval(10,'minute') from dual --10分钟
同样,也还可以是hour/second
该函数相当于 interval 'n' hour / interval 'n' minute
3.numtoyminterval转换
该函数用于将数字转换成年到月(year to month)
比如:
select sysdate + numtoyminterval(10,'year') from dual;--10年
1.interval转换
虽然前面说的是数字的转换,但实际上在这里还是将字符串的转换
如将当前时间加1小时30分钟20秒,则可以如下:
select sysdate + interval '1:30:20' hour to second from dual
以上是比较复杂的用法,也可以是直接的数字:
select sysdate + interval '7' hour from dual
2.numtodsinterval转换
该函数用于将数字转换成天到秒(day to second)
比如:
select sysdate + numtodsinterval(10,'day') from dual --10天
select sysdate + numtodsinterval(10,'minute') from dual --10分钟
同样,也还可以是hour/second
该函数相当于 interval 'n' hour / interval 'n' minute
3.numtoyminterval转换
该函数用于将数字转换成年到月(year to month)
比如:
select sysdate + numtoyminterval(10,'year') from dual;--10年
用法与上述方式类似
转:http://space.itpub.net/12932950/viewspace-687034