没有时区的时间戳

没有时区的时间戳

我已经创建了下面的触发器和函数,用于在函数上更新,其中,当“frm”和“upto”两列的更新类型为“timestamp without time zone”时,我要排除触发器执行
在触发器函数中,我正在检查这两列的更新

CREATE OR REPLACE FUNCTION ff() RETURNS TRIGGER AS $$
BEGIN
    if((old."frm" == New."frm") and (old."upto" == New."upto") ) then
        insert into TG_TABLE_NAME (select * from inserted );
        New."from" := old."from";
        NEW."upto" := current_timestamp;
        RETURN NEW;
    END IF;
    RETURN NULL;
 END $$ LANGUAGE plpgsql;

create trigger update_trig2 after update on dd
for each row execute procedure ff();`

在运行更新查询之后,我在postgreSQL中发现以下错误
错误:操作符不存在:没有时区的时间戳=没有时区的时间戳

最佳答案

在SQL和PL/pgSQL中,比较运算符是=
因此,您需要将==替换为=

关于sql - PostgreSQL:运算符不存在:没有时区的时间戳==没有时区的时间戳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40202367/

10-11 06:29