2017-08-18 20 views
0

複数の配列をPostgresの1つの配列に連結する方法はありますか?例えば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] 

答えて

3

魔法のように|| concatenation operator

select 
    array_fill(5, array[4]) || 
    array_fill(2, array[3]) || 
    array_fill(11, array[3]) 
+0

作品を使用してください。ありがとうございました! –

0

の出力を見てみたいと思います:

ARRAY_CAT(
    ARRAY_CAT(
    ARRAY_FILL(5, ARRAY[4]), 
    ARRAY_FILL(2, ARRAY[3]) 
), 
    ARRAY_FILL(11, ARRAY[3]) 
) 

@Clodoaldo Netoが指摘しているように、||演算子も使用できます。あなたはこれらの2から自由に選択するが、心に留めておくことができます。

  • ||は、オペランドの種類に応じて異なる動作をすることができます。これは混乱の原因となります。

  • 両方のオペランドが配列の場合、||array_catのエイリアスに過ぎません。 (source