TO_TIMESTAMP 函数
TO_TIMESTAMP 将 TIMESTAMP 字符串转换为 TIMESTAMPTZ。
语法
to_timestamp (timestamp, format)
to_timestamp (timestamp, format, is_strict)
Arguments
- timestamp
-
以 format 指定的格式表示时间戳值的字符串。
- format
-
一个字符串文本,用于定义 timestamp 值的格式。包含时区的格式(
TZ、tz,或者OF)不支持作为输入。有关有效的时间戳格式,请参阅日期时间格式字符串。 - is_strict
-
一个可选的布尔值,它指定在输入时间戳值超出范围时是否返回错误。当 is_strict 被设置为 TRUE 时,如果存在超出范围的值,则返回错误。当 is_strict 被设置为 FALSE(默认值)时,则接受溢出值。
返回类型
TIMESTAMPTZ
示例
以下示例演示使用 TO_TIMESTAMP 函数将 TIMESTAMP 字符串转换为 TIMESTAMPTZ。
select sysdate, to_timestamp(sysdate, 'YYYY-MM-DD HH24:MI:SS') as seconds; timestamp | seconds -------------------------- | ---------------------- 2021-04-05 19:27:53.281812 | 2021-04-05 19:27:53+00
下面的 SQL 语句将字符串“2011-12-18 24:38:15”转换为 TIMESTAMPTZ:
SELECT to_timestamp('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS');
结果产生落在第二天的 TIMESTAMPTZ,因为小时数超过 24 小时。
to_timestamp
----------------------
2011-12-19 00:38:15+00
下面的 SQL 语句将字符串“2011-12-18 24:38:15”转换为 TIMESTAMPTZ:
SELECT to_timestamp('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS', TRUE);
结果产生错误,因为时间戳中的时间值超过 24 小时。
ERROR: date/time field time value out of range: 24:38:15.0