1

我在我的 postgresql 函数中添加 nthmonth (2),但在执行时它显示错误“错误:运算符不存在:没有时区 + 整数的时间戳”提示:没有运算符与给定名称和参数类型匹配. 您可能需要添加显式类型转换。查询:选择 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;
4

1 回答 1

4

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

你想要这样的东西:

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

或者,也许更清楚一点:

pi_date + (nthMonth * interval '1 month')

于 2018-01-14T09:29:57.930 回答