AT TIME ZONE 函数
AT TIME ZONE 指定要与 TIMESTAMP 或 TIMESTAMPTZ 表达式一起使用的时区。
语法
AT TIME ZONE 'timezone'
Arguments
- timezone
-
返回值的时区。该时区可以指定为时区名称(例如
'Africa/Kampala'或者'Singapore')或作为时区缩写(例如'UTC'或者'PDT')。要查看支持的时区名称的列表,请执行以下命令。
select pg_timezone_names();要查看支持的时区缩写的列表,请执行以下命令。
select pg_timezone_abbrevs();有关更多信息以及示例,请参阅 时区使用说明。
返回类型
与 TIMESTAMP 表达式一起使用时的 TIMESTAMPTZ。与 TIMESTAMPTZ 表达式一起使用时的 TIMESTAMP。
示例
以下示例转换不带时区的时间戳值,并将其解释为 MST 时间 (UTC–7),然后再转换为 PST (UTC–8) 进行显示。
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST'; timestamptz ------------------------ '2001-02-16 19:38:40-08'
以下示例采用带有时区值的输入时间戳(其中指定时区为 UTC-5 (EST)),并将其转换为 MST (UTC-7)。
SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'MST'; timestamp ------------------------ '2001-02-16 18:38:40'