oracle 中的INTERVAL 函数用法

 
  
 
  
		
			
一、interval year to month 类型
格式: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]
该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2
案例1
select INTERVAL '123-2' YEAR(3) TO MONTH from dual;
表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2
案例2:
 select INTERVAL '123' YEAR(3)   from dual; --表示: 123年0个月
案例3:
select interval '300' month from dual; --表示 300月,一年12月,自动换算成25年,如下
案例4:
select INTERVAL '123' YEAR  from dual; --执行错误,year默认精度是2,但是123是3位。
案例5:
select INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH from dual;--表示: 5年3个月 + 20个月 = 6年11个月
二、inter day to second 类型
 格式:INTERVAL '{ integer | integer time_expr | time_expr }'   { { DAY | HOUR | MINUTE } [ ( leading_precision ) ]
| SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] } [ TO { DAY | HOUR | MINUTE | SECOND [ (fractional_seconds_precision) ] } ]
leading_precision值的范围是0到9, 默认是2. time_expr的格式为:HH[:MI[:SS[.n]]] or MI[:SS[.n]] or SS[.n], n表示微秒
范围值: HOUR:    0 to 23
MINUTE: 0 to 59
999999999 
SECOND: 0 to 59
案例1:
 select INTERVAL '4 5:12:10.222' DAY TO SECOND(3) from dual;--表示4天5小时12分10.222秒
案例2:
 select  INTERVAL '4 5:12' DAY TO MINUTE from dual; --表示: 4天5小时12分
案例3:
 select   INTERVAL '400 5' DAY(3) TO HOUR from dual; --表示: 400天5小时, 400为3为精度,所以"DAY(3)", 注意默认值为2.
案例4:
 select INTERVAL '400' DAY(3) from dual;--表示400天
案例5:
 select INTERVAL '11:12:10.2222222' HOUR TO SECOND(7) from dual;--表示: 11小时12分10.2222222秒
案例6:
 select INTERVAL '11:20' HOUR TO MINUTE from dual; --表示11小时20分
  案例7:
        select  INTERVAL '30.12345' SECOND(2,4)  from dual; --表示: 30.1235秒, 因为该地方秒的后面精度设置为4, 要进行四舍五入


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22526482/viewspace-2122565/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22526482/viewspace-2122565/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值