CURRENT TIMEZONE 专用寄存器

CURRENT TIMEZONE (或 CURRENT_TIMEZONE) 专用寄存器指定 UTC (全球标准时间,以前称为 GMT) 与应用程序服务器上的本地时间之间的差异。

差异由持续时间表示 (十进制数,其中前两位是小时数,后两位是分钟数,后两位是秒数)。 小时数在 -24 到 24 之间 (独占)。 从本地时间减去 CURRENT TIMEZONE 会将该本地时间转换为 UTC。 该时间从执行 SQL 语句时的操作系统时间开始计算。 (CURRENT TIMEZONE 值由 C 运行时函数确定。)

如果使用 DECIMAL (6, 0) 数据类型的表达式,那么可以使用 CURRENT TIMEZONE 专用寄存器; 例如,在时间和时间戳记算术中。

在例程内的 SQL 语句中使用时,不会从调用语句继承 CURRENT TIMEZONE。

示例: 使用 RECEIVED 列的 UTC 时间戳记将记录插入 IN_TRAY 表中。
   INSERT INTO IN_TRAY VALUES (
     CURRENT TIMESTAMP - CURRENT TIMEZONE,
     :source,
     :subject,
     :notetext )