Oracle SYS_EXTRACT_UTC() 函数使用指南

Oracle SYS_EXTRACT_UTC() 是一个内置函数,它从具有时区偏移量或者时区名的日期时间值中提取 UTC。

Oracle SYS_EXTRACT_UTC() 语法

这里是 Oracle SYS_EXTRACT_UTC() 函数的语法:

SYS_EXTRACT_UTC(datetime_with_timezone)

参数

datetime_with_timezone

必需的。你应该提供一个具有时区偏移量或者时区名的日期时间值。如果没有时区,它将使用会话时区。您不能提供一个 NULL。

返回值

Oracle SYS_EXTRACT_UTC() 函数返回一个 UTC。

Oracle SYS_EXTRACT_UTC() 示例

这里有几个展示了 Oracle SYS_EXTRACT_UTC() 函数用法的示例。

基本用法

ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SSXFF';
SELECT
    SYS_EXTRACT_UTC(TIMESTAMP '2023-02-11 15:59:44.135000000 +05:00')
FROM dual;

输出:

SYS_EXTRACT_UTC(TIMESTAMP'2023-02-1115:59:44.135000000+05:00')
_________________________________________________________________
2023-02-11 10:59:44.135000000

NULL 参数

您不能提供一个 NULL 参数, 否则,SYS_EXTRACT_UTC() 将报告一个错误。

SET NULL 'NULL';
SELECT
    SYS_EXTRACT_UTC(NULL)
FROM dual;

输出:

SQL Error: ORA-30175: invalid type given for an argument
30175. 00000 -  "invalid type given for an argument"
*Cause:    There is an argument with an invalid type in the argument list.
*Action:   Use the correct type wrapper for the argument.

结论

Oracle SYS_EXTRACT_UTC() 是一个内置函数,它从具有时区偏移量或者时区名的日期时间值中提取 UTC。