日期部分在触发器中

时间:2015-05-07 20:56:11

标签: sql postgresql

你好我想在一个触发器中提取月份,但是我在新的附近得到一个语法错误是否有另一种方法从触发器内的fdate获取月份

SELECT EXTRACT(MONTH FROM TIMESTAMP new.fdate) into month_extr;

3 个答案:

答案 0 :(得分:0)

您是否尝试过NEW.fdate而不是小写? SQL是不区分大小写的,但据我所知,在plpgsql程序中它可能很重要。 另一条线索 - NEW和OLD变量仅在行上下文中可用(因此必须执行触发器"对于每一行"而不是对于语句)。

答案 1 :(得分:0)

请尝试使用date_part(text, timestamp)

SELECT date_part('month', NEW.fdate) INTO month_extr;

答案 2 :(得分:0)

我会写:

SELECT INTO month_extr date_part('month', NEW.fdate);

不确定您的版本是否也有效。