您的位置:首页 > 数据库 > Oracle

Oracle INTERVAL(INTERVAL DAY TO SECOND,INTERVAL YEAR TO MONTH)数据类型的使用

2014-11-13 15:15 507 查看

INTERVAL DAY TO SECOND数据类型

Oracle语法:

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

SECOND: 0 to 59.999999999

eg:

INTERVAL '4 5:12:10.222' DAY TO SECOND(3)

表示: 4天5小时12分10.222秒

INTERVAL '4 5:12' DAY TO MINUTE

表示: 4天5小时12分

INTERVAL '400 5' DAY(3) TO HOUR

表示: 400天5小时, 400为3为精度,所以"DAY(3)", 注意默认值为2.

INTERVAL '400' DAY(3)

表示: 400天

INTERVAL '11:12:10.2222222' HOUR TO SECOND(7)

表示: 11小时12分10.2222222秒

INTERVAL '11:20' HOUR TO MINUTE

表示: 11小时20分

INTERVAL '10' HOUR

表示: 10小时

INTERVAL '10:22' MINUTE TO SECOND

表示: 10分22秒

INTERVAL '10' MINUTE

表示: 10分

INTERVAL '4' DAY

表示: 4天

INTERVAL '25' HOUR

表示: 25小时

INTERVAL '40' MINUTE

表示: 40分

INTERVAL '120' HOUR(3)

表示: 120小时

INTERVAL '30.12345' SECOND(2,4)

表示: 30.1235秒, 因为该地方秒的后面精度设置为4, 要进行四舍五入.

INTERVAL '20' DAY - INTERVAL '240' HOUR = INTERVAL '10-0' DAY TO SECOND

表示: 20天 - 240小时 = 10天0秒

INTERVAL YEAR TO MONTH数据类型

INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.

eg:

INTERVAL '123-2' YEAR(3) TO MONTH

表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2.

INTERVAL '123' YEAR(3)

表示: 123年0个月

INTERVAL '300' MONTH(3)

表示: 300个月, 注意该处MONTH的精度是3啊.

INTERVAL '4' YEAR

表示: 4年, 同 INTERVAL '4-0' YEAR TO MONTH 是一样的

INTERVAL '50' MONTH

表示: 50个月, 同 INTERVAL '4-2' YEAR TO MONTH 是一样

INTERVAL '123' YEAR

表示: 该处表示有错误, 123精度是3了, 但系统默认是2, 所以该处应该写成 INTERVAL '123' YEAR(3) 或"3"改成大于3小于等于9的数值都可以的

INTERVAL '5-3' YEAR TO MONTH + INTERVAL '20' MONTH =

INTERVAL '6-11' YEAR TO MONTH

表示: 5年3个月 + 20个月 = 6年11个月
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: