ERROR: operator does not exist: timestamp without time zone + integer
ERROR: operator does not exist: timestamp without time zone + integer
我正在我的 postgresql 函数中添加第 nthmonth (2),但在执行时它显示错误 "ERROR: operator does not exist: timestamp without time zone + integer"
提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。
查询: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;
很明显 - “+”比“||”绑定得更紧密(正如它告诉你的那样)。
你想要这样的东西:
pi_date + (nthMonth || ' months'::interval)
或者,也许更清楚一点:
pi_date + (nthMonth * interval '1 month')
我正在我的 postgresql 函数中添加第 nthmonth (2),但在执行时它显示错误 "ERROR: operator does not exist: timestamp without time zone + integer" 提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。 查询: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;
很明显 - “+”比“||”绑定得更紧密(正如它告诉你的那样)。
你想要这样的东西:
pi_date + (nthMonth || ' months'::interval)
或者,也许更清楚一点:
pi_date + (nthMonth * interval '1 month')