HSQLDB - 使用 TIMESTAMP 列进行更新 CURRENT_TIMESTAMP

HSQLDB - ON UPDATE CURRENT_TIMESTAMP with TIMESTAMP column

有了这个 table 定义:

CREATE TABLE T1 (C1 TIMESTAMP DEFAULT NOW() ON UPDATE CURRENT_TIMESTAMP NOT 
NULL);

更新行时 C1 设置为当前 UTC 时间戳。

这就是我想要的,但是我想知道这是否也是 HSQLDB 的预期行为,因为 CURRENT_TIMESTAMP returns TIMESTAMP WITH TIME ZONE 类型的值。

HSQLDB 执行 ISO SQL:2016 标准。 LOCALTIMESTAMP 和 CURRENT_TIMESTAMP 是标准函数,return TIMESTAMP 值分别为 WITHOUT 或 WITH TIME ZONE。该标准要求在有或没有时区的 TIMESTAMP 值之间进行静默 two-way 转换。因此,从 CURRENT_TIMEZONE 编辑的值 return 被转换为没有时区的值。这是通过丢弃时区信息来完成的。