带有日期数组的数组 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;