SET TIME ZONESET TIME ZONE

设置当前会话的时区。Sets the time zone of the current session.

语法Syntax

SET TIME ZONE LOCAL
SET TIME ZONE 'timezone_value'
SET TIME ZONE INTERVAL interval_literal

参数Parameters

  • LOCALLOCAL

    将时区设置为 java user.timezone 属性中指定的时区,如果 user.timezone 未定义,则将时区设置为环境变量 TZ,如果两个时区都未定义,则设置为系统时区。Set the time zone to the one specified in the java user.timezone property, or to the environment variable TZ if user.timezone is undefined, or to the system time zone if both of them are undefined.

  • timezone_valuetimezone_value

    会话本地时区的 ID,其格式为基于区域的区域 ID 或区域偏移。The ID of session local timezone in the format of either region-based zone IDs or zone offsets. 区域 ID 必须具有“区域/城市”的格式,如“America/Los_Angeles”。Region IDs must have the form ‘area/city’, such as ‘America/Los_Angeles’. 区域偏移的格式必须是“(+|-)HH”、“(+|-)HH:mm”或“(+|-)HH:mm:ss”,如“-08”、“+01:00”或“-13:33:33”。Zone offsets must be in the format ‘(+|-)HH’, ‘(+|-)HH:mm’ or ‘(+|-)HH:mm:ss’, e.g ‘-08’, ‘+01:00’ or ‘-13:33:33’. 此外,还支持“UTC”和“Z”作为“+00:00”的别名。Also, ‘UTC’ and ‘Z’ are supported as aliases of ‘+00:00’. 不建议使用其他短名称,因为它们可能不明确。Other short names are not recommended to use because they can be ambiguous.

  • interval_literalinterval_literal

    间隔字面量表示会话时区与“UTC”之间的差值。The interval literal represents the difference between the session time zone to the ‘UTC’. 它必须在 [-18, 18] 小时和最大到第二精度范围内,例如 INTERVAL 2 HOURS 30 MINITUESINTERVAL '15:40:32' HOUR TO SECONDIt must be in the range of [-18, 18] hours and max to second precision, e.g. INTERVAL 2 HOURS 30 MINITUES or INTERVAL '15:40:32' HOUR TO SECOND.

示例Examples

-- Set time zone to the system default.
SET TIME ZONE LOCAL;

-- Set time zone to the region-based zone ID.
SET TIME ZONE 'America/Los_Angeles';

-- Set time zone to the Zone offset.
SET TIME ZONE '+08:00';

-- Set time zone with intervals.
SET TIME ZONE INTERVAL 1 HOUR 30 MINUTES;
SET TIME ZONE INTERVAL '08:30:00' HOUR TO SECOND;