带有日期数组的数组 Postgres 中的迭代 foreach
iteration foreach in array Postgres with array of dates
我对日期数组的迭代有疑问:
他们用另一个函数加载的数组的值。
DECLARE
i INT;
array DATE[]; -- values array : '{2017-01-01,2017-02-01,2017-03-01,2017-04-01}'
BEGIN
FOREACH i IN ARRAY array
LOOP
INSERT INTO table (id, date)
VALUES (i);
END LOOP;
Error: the input syntax is not valid for integer: «2016-02-01»
我尝试将声明从i
更改为date,但没有成功,我还尝试分配i
(date)数组的第一个值(i = array[1];
)没有成功。
有谁知道如何解决这个问题或者我做错了什么?谢谢。
好的,我搜索并找到了解决方案:我把它放在以防有人感兴趣:
for i in coalesce(array_lower(array, 1),1)..coalesce(array_upper(array, 1),1)
loop
INSERT INTO table (id, date)
VALUES (i);
end loop;
我对日期数组的迭代有疑问: 他们用另一个函数加载的数组的值。
DECLARE
i INT;
array DATE[]; -- values array : '{2017-01-01,2017-02-01,2017-03-01,2017-04-01}'
BEGIN
FOREACH i IN ARRAY array
LOOP
INSERT INTO table (id, date)
VALUES (i);
END LOOP;
Error: the input syntax is not valid for integer: «2016-02-01»
我尝试将声明从i
更改为date,但没有成功,我还尝试分配i
(date)数组的第一个值(i = array[1];
)没有成功。
有谁知道如何解决这个问题或者我做错了什么?谢谢。
好的,我搜索并找到了解决方案:我把它放在以防有人感兴趣:
for i in coalesce(array_lower(array, 1),1)..coalesce(array_upper(array, 1),1)
loop
INSERT INTO table (id, date)
VALUES (i);
end loop;