与时间间隔有关的函数

有很多函数可以用来查询和处理时间间隔,表5-13中列出了这些函数。

表5-13  与时间间隔有关的函数

接下来的几节将介绍更多有关表5-9中所列出的函数的内容。

1. NUMTODSINTERVAL()

NUMTODSINTERVAL(x, interval_unit)用于将以interval_unit指定的值为单位的数字x转换为一个INTERVAL DAY TO SECOND类型,interval_unit参数可以设置为DAY、 HOUR、MINUTE或SECOND。

例如,下面这个查询使用NUMTODSINTERVAL()将几个数字转换为时间间隔:

SELECT
NUMTODSINTERVAL(1.5, 'DAY'),
NUMTODSINTERVAL(3.25, 'HOUR'),
NUMTODSINTERVAL(5, 'MINUTE'),
NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM dual;

NUMTODSINTERVAL(1.5,'DAY')
----------------------------------------------
NUMTODSINTERVAL(3.25,'HOUR')
----------------------------------------------
NUMTODSINTERVAL(5,'MINUTE')
----------------------------------------------
NUMTODSINTERVAL(10.123456789,'SECOND')
----------------------------------------------
+000000001 12:00:00.000000000
+000000000 03:15:00.000000000
+000000000 00:05:00.000000000
+000000000 00:00:10.123456789

2. NUMTOYMINTERVAL()

NUMTOYMINTERVAL(x, interval_unit)用于将以interval_unit指定的值为单位的数字x转换为一个INTERVAL YEAR TO MONTH类型,interval_unit参数可以设置为YEAR或MONTH。

例如,下面这个查询使用NUMTOYMINTERVAL()将两个数字转换为时间间隔:

 SELECT
NUMTOYMINTERVAL(1.5, 'YEAR'),
NUMTOYMINTERVAL(3.25, 'MONTH')
FROM dual;

NUMTOYMINTERVAL(1.5,'YEAR')
---------------------------
NUMTOYMINTERVAL(3.25,'MONTH')
-----------------------------
+000000001-06
+000000000-03


posted @ 2009-08-19 07:59  道场  阅读(290)  评论(0)    收藏  举报