Oracle FROM_TZ() 函数使用指南
Oracle FROM_TZ()
是一个内置函数,它将一个时间戳值和时区值转换为一个带有时区的时间戳值。
Oracle FROM_TZ()
语法
这里是 Oracle FROM_TZ()
函数的语法:
FROM_TZ(timestamp_value, time_zone_value)
参数
timestamp_value
-
必需的。
time_zone_value
-
必需的。它是一个
'TZH:TZM'
格式的字符串或者一个返回带有TZD
的TZR
格式字符串的表达式。
返回值
Oracle FROM_TZ()
函数返回一个带有时区的时间戳值。
Oracle FROM_TZ()
示例
这里有几个展示了 Oracle FROM_TZ()
函数用法的示例。
基本用法
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SSXFF TZR';
SELECT
FROM_TZ(TIMESTAMP '2023-02-11 12:13:14', '+09:00') Result
FROM dual;
输出:
RESULT
_______________________________________
2023-02-11 12:13:14.000000000 +09:00
这里,我们使用 ALTER SESSION
语句修改当前会话的日期显式格式。
NULL 参数
你不能为第一个参数提供一个 NULL
值, 否则 Oracle 将报告一个错误。
SET NULL 'NULL';
SELECT
FROM_TZ(NULL, NULL)
FROM dual;
输出:
SQL Error: ORA-00932: inconsistent datatypes: expected TIMESTAMP got CHAR
如果你为第二个参数提供一个 NULL
值, FROM_TZ()
将返回 NULL
。
SET NULL 'NULL';
SELECT
FROM_TZ(TIMESTAMP '2023-02-11 12:13:14', NULL)
FROM dual;
输出:
FROM_TZ(TIMESTAMP'2023-02-1112:13:14',NULL)
______________________________________________
NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle FROM_TZ()
是一个内置函数,它将一个时间戳值和时区值转换为一个带有时区的时间戳值。