使用此表定义:
CREATE TABLE T1 (C1 TIMESTAMP DEFAULT NOW() ON UPDATE CURRENT_TIMESTAMP NOT
NULL);
行更新时C1
设置为当前UTC时间戳。
这就是我想要的,但是我想知道这是否也是HSQLDB的预期行为,因为CURRENT_TIMESTAMP
返回的值为TIMESTAMP WITH TIME ZONE
类型。
答案 0 :(得分:1)
HSQLDB实施ISO SQL:2016标准。 LOCALTIMESTAMP和CURRENT_TIMESTAMP是标准函数,分别返回TIMESTAMP值WITHOUT或WITH TIME ZONE。该标准要求在带或不带时区的TIMESTAMP值之间进行无声双向转换。因此,从CURRENT_TIMEZONE返回的值将转换为无时区的值。这是通过丢弃时区信息来完成的。