我有一个名为modify
的列的表,其类型为Date
。我已将其转换为TIMESTAMP WITHOUT TIME ZONE
类型。
此列数据由触发器更新:
CREATE OR REPLACE FUNCTION trigA()
RETURNS trigger AS
$BODY$
begin
new.modify=current_date;
return new;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
只是跟踪有人更新行的时间。
current_date
对Date
没问题但是时间不够,所以我想将其更改为:current_timestamp
。但是根据manual:current_timestamp
给出timestamp with time zone
。
我传递整个页面,无法找到timestamp without time zone
类型的当前日期和时间。
我的问题:如何将当前日期和时间插入timestamp without time zone
字段。
答案 0 :(得分:0)
您应该使用LOCALTIMESTAMP
CREATE OR REPLACE FUNCTION trigA()
RETURNS trigger AS
$BODY$
begin
new.modify=LOCALTIMESTAMP;
return new;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
PostgreSQL manual提到:
CURRENT_TIME和CURRENT_TIMESTAMP提供带时区的值; LOCALTIME和LOCALTIMESTAMP提供没有时区的值。