我在postgresql函数中添加了nthmonth(2),但在执行时它显示错误“ERROR:operator不存在:没有时区的时间戳+整数” 提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。 QUERY:SELECT pi_date + nthMonth || '月':: INTERVAL
DECLARE
beginMonth timestamp;
pi_date timestamp := to_timestamp('14-Jan-2016 01:50 AM,'DD-MON-YYYY HH:MI AM);
> beginMonth := pi_date + nthMonth || ' month ' :: INTERVAL;
答案 0 :(得分:4)
这很明显 - “+”的绑定比“||”更紧密(正如它告诉你的那样)。
你想要这样的东西:
pi_date + (nthMonth || ' months'::interval)
或者,或许更清楚一点:
pi_date + (nthMonth * interval '1 month')