PostgreSQL:连接具有不同元素维度的嵌套数组

时间:2014-05-28 16:24:44

标签: arrays postgresql

连接嵌套数组{{1,2}}{{3,4}}完全没问题:

SELECT array_cat(
           ARRAY[ARRAY[1,2]]
         , ARRAY[ARRAY[3,4]]
       )

   array_cat   
---------------
 {{1,2},{3,4}}

但是如何连接{{1,2}}{{3}}才能获得{{1,2},{3}}

SELECT array_cat(
           ARRAY[ARRAY[1,2]]
         , ARRAY[ARRAY[3]]
       )
psql: …: ERROR:  cannot concatenate incompatible arrays
DETAIL:  Arrays with differing element dimensions are not compatible
         for concatenation.

1 个答案:

答案 0 :(得分:1)

这在PostgreSQL中是不可能的。多维数组必须具有相同数量的元素维度,就像错误消息通知一样。 Per documentation:

  

多维数组必须具有每个维度的匹配范围。不匹配会导致错误。

您可能想要使用NULL或其他虚拟值填充...