PostgreSQL:合并元素维度不同的嵌套数组

4

连接嵌套数组{{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,2},{3}}? - Tony
我刚刚更新了问题。 - user3684490
1个回答

2
这在PostgreSQL中是不可能的。正如错误消息所示,多维数组必须具有相同数量的元素维度。根据文档:每个维度的匹配范围是多维数组必须具备的条件。如果不匹配就会导致错误。你可以使用NULL或其他虚拟值进行填充...

我已经担心过了。看来我必须为我的应用程序寻找另一种方法。 - user3684490

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接