错误:运算符不存在:没有时区+整数的时间戳

时间:2018-01-14 08:36:23

标签: postgresql postgresql-10

我在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;

1 个答案:

答案 0 :(得分:4)

这很明显 - “+”的绑定比“||”更紧密(正如它告诉你的那样)。

你想要这样的东西:

pi_date + (nthMonth || ' months'::interval)

或者,或许更清楚一点:

pi_date + (nthMonth * interval '1 month')