HSQLDB-带有TIMESTAMP列的ON UPDATE CURRENT_TIMESTAMP

时间:2019-05-22 09:21:55

标签: hsqldb

使用此表定义:

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

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

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

1 个答案:

答案 0 :(得分:1)

HSQLDB实施ISO SQL:2016标准。 LOCALTIMESTAMP和CURRENT_TIMESTAMP是标准函数,分别返回TIMESTAMP值WITHOUT或WITH TIME ZONE。该标准要求在带或不带时区的TIMESTAMP值之间进行无声双向转换。因此,从CURRENT_TIMEZONE返回的值将转换为无时区的值。这是通过丢弃时区信息来完成的。