generate_subscripts
PostgreSQL関数の 2 番目の引数を理解しようとしています。ドキュメントには、2 番目の引数が添字を生成する配列の次元であると記載されています。
generate_subscripts は、指定された配列の指定された次元に対して有効な添え字のセットを生成する便利な関数です。
ただし、私の 2 次元の例の配列では、引数を指定する1
か2
、両方を指定すると、同じ出力が生成されます。
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;
(注1
vs. 2
) どちらも同じ出力を生成します。
food
------
spam
eggs
ham
(3 rows)
残念ながら、 の 2 番目の引数がわかりませんgenerate_subscripts
。より経験のある人は、この議論が何をするのかを明確にすることができますか?
PostgreSQL 9.1.6 を実行しています。