有没有办法在Postgres中将多个数组连接成一个数组?
例如,像这样:
ARRAY_CAT(
ARRAY_FILL(5, ARRAY[4]),
ARRAY_FILL(2, ARRAY[3]),
ARRAY_FILL(11, ARRAY[3])
)
Run Code Online (Sandbox Code Playgroud)
对于这个例子,我想看看输出
[5,5,5,5,2,2,2,11,11,11]
Run Code Online (Sandbox Code Playgroud)
使用||连接运算符
select
array_fill(5, array[4]) ||
array_fill(2, array[3]) ||
array_fill(11, array[3])
Run Code Online (Sandbox Code Playgroud)
您可以通过重复串联来做到这一点:
ARRAY_CAT(
ARRAY_CAT(
ARRAY_FILL(5, ARRAY[4]),
ARRAY_FILL(2, ARRAY[3])
),
ARRAY_FILL(11, ARRAY[3])
)
Run Code Online (Sandbox Code Playgroud)
正如@Clodoaldo Neto 指出的,您||也可以使用该运算符。您可以从这两个中自由选择,但请记住:
||根据操作数类型的不同,其行为也会有所不同。这可能会导致混乱。
在两个操作数都是数组的情况下,||只是 的别名array_cat。(来源)
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |