AT TIME ZONE 函数 - Amazon Redshift

AT TIME ZONE 函数

AT TIME ZONE 指定要与 TIMESTAMP 或 TIMESTAMPTZ 表达式一起使用的时区。

语法

AT TIME ZONE 'timezone'

参数

timezone

返回值的 TIMEZONE。该时区可以指定为时区名称(例如 'Africa/Kampala' 或者 'Singapore')或作为时区缩写(例如 'UTC' 或者 'PDT')。

要查看支持的时区名称的列表,请执行以下命令。

select pg_timezone_names();

要查看支持的时区缩写的列表,请执行以下命令。

select pg_timezone_abbrevs();

有关更多信息以及示例,请参阅 时区使用说明

返回类型

与 TIMESTAMP 表达式一起使用时的 TIMESTAMPTZ。与 TIMESTAMPTZ 表达式一起使用时的 TIMESTAMP。

示例

以下示例转换不带时区的时间戳值,并将其解释为 MST 时间(POSIX 中的 UTC+7)。该示例返回 UTC 时区的数据类型为 TIMESTAMPTZ 的值。如果将默认时区配置为 UTC 以外的时区,可能会出现不同的结果。

SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-17 03:38:40+00

以下示例采用带有时区值的输入时间戳,其中指定时区为 EST(POSIX 中的 UTC+5),然后将其转换为 MST(POSIX 中的 UTC+7)。该示例返回一个数据类型为 TIMESTAMP 的值。

SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-16 18:38:40