0
有沒有辦法在Postgres中連接多個數組到一個數組?在Postgres中連接多個數組
例如,這樣的事情:
ARRAY_CAT(
ARRAY_FILL(5, ARRAY[4]),
ARRAY_FILL(2, ARRAY[3]),
ARRAY_FILL(11, ARRAY[3])
)
對於這個例子,我想看到的
[5,5,5,5,2,2,2,11,11,11]
有沒有辦法在Postgres中連接多個數組到一個數組?在Postgres中連接多個數組
例如,這樣的事情:
ARRAY_CAT(
ARRAY_FILL(5, ARRAY[4]),
ARRAY_FILL(2, ARRAY[3]),
ARRAY_FILL(11, ARRAY[3])
)
對於這個例子,我想看到的
[5,5,5,5,2,2,2,11,11,11]
select
array_fill(5, array[4]) ||
array_fill(2, array[3]) ||
array_fill(11, array[3])
可以反覆級聯做到這一點的輸出:
ARRAY_CAT(
ARRAY_CAT(
ARRAY_FILL(5, ARRAY[4]),
ARRAY_FILL(2, ARRAY[3])
),
ARRAY_FILL(11, ARRAY[3])
)
正如@Clodoaldo Neto指出的,您也可以使用||
運算符。可以從以下兩個可自由選擇,但要記住:
||
可以表現不同,這取決於操作數的類型。這可能會導致混淆。
在兩個操作數都是數組的情況下,||
只是array_cat
的別名。 (source)
就像一個魅力。謝謝! –