Oracle NUMTODSINTERVAL() 函数使用指南
Oracle NUMTODSINTERVAL()
是一个内置函数,它将给定的数字转为 INTERVAL DAY TO SECOND
文本。
Oracle NUMTODSINTERVAL()
语法
这里是 Oracle NUMTODSINTERVAL()
函数的语法:
NUMTODSINTERVAL(n, 'interval_unit')
参数
n
-
必需的。它可以是任何
NUMBER
值或可以隐式转换为NUMBER
值的表达式 'interval_unit'
-
必需的。它可以是
CHAR
、VARCHAR2
、NCHAR
或NVARCHAR2
数据类型。 它指示了n
的单位,它必须是以下的值之一并且不区分大小写:'DAY'
'HOUR'
'MINUTE'
'SECOND'
返回值
Oracle NUMTODSINTERVAL()
函数返回一个由给定数字转为的 INTERVAL DAY TO SECOND
文本。
默认情况下,返回的精度为 9。
如果任意一个参数为 NULL
, NUMTODSINTERVAL()
将返回 NULL
。
Oracle NUMTODSINTERVAL()
示例
这里有几个展示了 Oracle NUMTODSINTERVAL()
函数用法的示例。
天
要创建一个值为 1 天的间隔值,请使用如下语句:
SELECT
NUMTODSINTERVAL(1, 'DAY')
FROM dual;
输出:
NUMTODSINTERVAL(1,'DAY')
___________________________
+01 00:00:00.000000
小时
要创建一个值为 2 小时的间隔值,请使用如下语句:
SELECT
NUMTODSINTERVAL(2, 'HOUR')
FROM dual;
输出:
NUMTODSINTERVAL(2,'HOUR')
____________________________
+00 02:00:00.000000
分钟
要创建一个值为 3 分钟的间隔值,请使用如下语句:
SELECT
NUMTODSINTERVAL(3, 'MINUTE')
FROM dual;
输出:
NUMTODSINTERVAL(3,'MINUTE')
______________________________
+00 00:03:00.000000
秒
要创建一个值为 4 秒的间隔值,请使用如下语句:
SELECT
NUMTODSINTERVAL(4, 'SECOND')
FROM dual;
输出:
NUMTODSINTERVAL(4,'SECOND')
______________________________
+00 00:00:04.000000
您可以提供一个带有小数的值以包含小数秒,
SELECT
NUMTODSINTERVAL(4.123123, 'SECOND')
FROM dual;
输出:
NUMTODSINTERVAL(4,'SECOND')
______________________________
+00 00:00:04.000000
小数秒的最大精度为 9 位,如果超过 9 位,小数秒将被四舍五入到 9 位:
SELECT
NUMTODSINTERVAL(4.1111111115, 'SECOND')
FROM dual;
输出:
NUMTODSINTERVAL(4.1111111115,'SECOND')
_________________________________________
+00 00:00:04.111111112
NULL 参数
如果任意一个参数为 NULL
, NUMTODSINTERVAL()
将返回 NULL
。
SET NULL 'NULL';
SELECT
NUMTODSINTERVAL(NULL, 'DAY') NULL_1,
NUMTODSINTERVAL(1, NULL) NULL_2,
NUMTODSINTERVAL(NULL, NULL) NULL_3
FROM dual;
输出:
NULL_1 NULL_2 NULL_3
_________ _________ _________
NULL NULL NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle NUMTODSINTERVAL()
是一个内置函数,它将给定的数字转为 INTERVAL DAY TO SECOND
文本。