gpt4 book ai didi

sql - generate_subscripts 的第二个参数有什么作用?

转载 作者:行者123 更新时间:2023-11-29 11:28:58 31 4
gpt4 key购买 nike

我试图理解 PostgreSQL generate_subscripts 函数的第二个参数。 documentation指出第二个参数是应该生成下标的数组的维度:

generate_subscripts is a convenience function that generates the set of valid subscripts for the specified dimension of the given array.

但是,对于我的二维示例数组,提供参数 12 都会生成相同的输出。

WITH data AS (
select (array[['1','spam','3'], ['4','eggs','6'], ['7','ham','9']]) AS arr
)
SELECT arr[i][2] AS food
FROM data,
generate_subscripts((SELECT arr FROM data), 1) i;

WITH data AS (
select (array[['1','spam','3'], ['4','eggs','6'], ['7','ham','9']]) AS arr
)
SELECT arr[i][2] AS food
FROM data,
generate_subscripts((SELECT arr FROM data), 2) i;

(注意 12)都生成相同的输出:

 food
------
spam
eggs
ham
(3 rows)

恐怕我不明白generate_subscripts 的第二个参数。有更多经验的人可以澄清这个论点的作用吗?

我正在运行 PostgreSQL 9.1.6。

最佳答案

第二个参数是维度:

postgres=# select * from generate_subscripts(array[[1,2,3],[3,4,5]],1); generate_subscripts ---------------------                   1                   2(2 rows)postgres=# select * from generate_subscripts(array[[1,2,3],[3,4,5]],2); generate_subscripts ---------------------                   1                   2                   3(3 rows)

在您的示例中,两个维度的大小相同,因此 generate_subscripts 返回相同的结果。

关于sql - generate_subscripts 的第二个参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731855/

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