gpt4 book ai didi

postgresql - PGSQL : Adding a variable interval - Syntax error

转载 作者:行者123 更新时间:2023-11-29 13:03:13 25 4
gpt4 key购买 nike

我有一个简短的问题。我是 pgsql 的新手,我不知道如何修复下面的语法错误。

这是我想做的

start_date := '2011-01-01'::date;
end_date := '2011-03-01'::date;
duration := '6 months'

while start_date < end_date loop
window_start_date = start_date;
window_end_date = window_start_date + interval||duration||;

end loop;

但是我不断收到语法错误。

ERROR:  column "interval" does not exist
LINE 1: SELECT $1 + interval|| $2 ||
^
QUERY: SELECT $1 + interval|| $2 ||

我做错了什么。任何帮助将不胜感激

最佳答案

猜测(缺少函数定义的其余部分)。
这适用于 PL/pgSQL (在幕后使用):

window_end_date := window_start_date + interval duration;

或者:

window_end_date := window_start_date + duration::interval;
  • Cast text 值设置为 interval 以使其工作。但最好先将变量 duration 声明为 interval(也许是这种情况,然后放弃强制转换 - 信息丢失)。

  • plpgsql中的赋值运算符是:=,不是=

  • 结果是一个时间戳,而不是一个日期。但在您的示例中它将被强制为 date

关于postgresql - PGSQL : Adding a variable interval - Syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com