SET TIME ZONE

更改当前 会话的 TIME ZONE 运行时参数。使用 SHOW TIMEZONE 显示会话的当前时区。

如果您使用 POSIX 格式设置时区,您使用的时区缩写将覆盖默认时区缩写。如果将日期样式设置为 POSTGRES,在将时间戳转换为字符串时,也会使用您使用的时区缩写。

语法

SET TIME ZONE [TO] { value | 'value' }

参数

value
以下几项之一:
  • Vertica 支持的时区字面量。要查看默认的有效字面量列表,请参阅以下目录中的文件:

    /opt/vertica/share/timezonesets
    
  • 带符号整数,表示 UTC 偏移量(以小时为单位)

  • 偏移量为带符号整数的时区字面量。例如:

    => SET TIME ZONE TO 'America/New York -3'; -- equivalent to Pacific time
    
  • 间隔值

  • 常数 LOCALDEFAULT,分别将时区设置为环境变量 TZ 中指定的时区,或者如果 TZ 未定义,则设置为操作系统时区。

只有有效的(时区+偏移量)组合才能作为此函数的参数。

特权

示例

=> SET TIME ZONE TO DEFAULT;
=> SET TIME ZONE TO 'PST8PDT'; -- Berkeley, California
=> SET TIME ZONE TO 'Europe/Rome'; -- Italy
=> SET TIME ZONE TO '-7'; -- UDT offset equivalent to PDT
=> SET TIME ZONE TO INTERVAL '-08:00 HOURS';

另请参阅

在 Vertica 中使用时区