gpt4 book ai didi

arrays - 从数组的数组访问数组项

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

如此简单...我需要检索数组中的一个项目,因此该项目必须是一个简单的数组。示例:

WITH t AS (SELECT '{{1,2,3},{333,444,555}}'::int[][] as a, '{{{{1,2}}}}'::int[] as b)
SELECT
a[2], -- returns null (!), why not works?
a[2:2], -- returns array-into-array, not simple array
b[1][1], -- also null
b[1][1][1:2], -- another ugly array-into-array-into...-array
a[1][1] -- is correct, but only works with scalars
FROM t;

结果是NULL,{{333,444,555}},NULL,{{{{1,2}}}},1...我需要一个简单的数组a[ 2], {333,444,555}... 如何访问它?

附言:guide和 google-examples 只显示切片......也许它是如此明显但我不记得为什么 a[2] 在 PostgreSQL 中无效。

最佳答案

I had forgotten what we discussed here : 是“array of arrays”的一种限制形式...命名为“multidimensional array”...但我坚持用模棱两可的方式思考,即有时在array of arrays中思考...

最佳答案来自 pgsql-hackers.at.postgresql.org 论坛的 Tom Lane,“Postgres 中的多维数组不是‘数组的数组’”

因此,在“多维数组”世界中,并不存在我所期望的那种“访问数组项”。


正如@ViníciusGobboA.deOliveira 在这里评论的那样,唯一的解决方案是通过 PL/SQL(低性能)或 C(高性能)编写函数。

关于arrays - 从数组的数组访问数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623702/

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