閱讀this後,我寫了一個天真試圖從這個PostgreSQL的:動態限幅符號數組
ARRAY[[1,2,3], [4,5,6], [7,8,9]]
產生這種
col1
---------
1
4
7
這工作
SELECT unnest((ARRAY[[1,2,3], [4,5,6], [7,8,9]])[1:3][1:1]);
但我在我的情況下,我不知道外部陣列的長度。
那麼有沒有辦法將切片「字符串」拼湊在一起考慮這種變化?
這是我的嘗試。我知道,這是一個有點滑稽
_ids := _ids_2D[('1:' || array_length(_ids_2D, 1)::text)::int][1:1];
正如你所看到的,我只是想創建的[1:n]
效果。顯然'1:3'
不會很好地解析數組切片需要的內容。
我可以明明使用類似unnest_2d_1d
歐文提到了上面鏈接的答案,但希望的東西更優雅。
你想要一個數組(第一級)的所有嵌套(第二級)的第一個元素? – lnrdo 2015-02-23 16:10:02
我不確定array_length是否不起作用,因爲無論如何1:n都是一個字符串。需要檢查。 – lnrdo 2015-02-24 09:31:04