PostgreSQL の array_to_string() 関数は、配列の要素を指定された区切り文字で区切って、配列を単一の文字列に変換するために使用されます。この関数は、配列の要素を単一の文字列に連結する必要がある場合に特に便利です。

構文 – PostgreSQL の array_to_string() 関数

array_to_string(array anyarray, delimiter text)

array: 文字列に変換される配列

delimiter: 結果の文字列内で配列の要素を区切るために使用される文字列。

配列をコンマ区切りの文字列に変換する

SELECT array_to_string(ARRAY['Mercury', 'Venus', 'Earth','Mars'], ',');

説明: 文字列 ‘Mercury,Venus,Earth,Mars’ を、要素として ‘Mercury’、’Venus’、’Earth’、’Mars’ を持つ配列に分割します。配列 {‘Mercury’、’Venus’、’Earth’、’Mars’} を、要素がコンマで区切られた文字列に変換します。

出力:

PostgreSQL での配列から文字列への変換 - array_to_string() 1

スペース区切りで配列を文字列に変換する

SELECT array_to_string(ARRAY['Hello','PostgreSQL', 'Enthusiast'], ' ');

説明: 配列 {‘Hello’,’PostgreSQL’, ‘Enthusiast’} を、要素がスペースで区切られた文字列に変換します。

出力:

PostgreSQL での配列から文字列への変換 - array_to_string() 2

ダッシュ/ハイフンを使用して配列を文字列に変換する 

SELECT array_to_string(ARRAY['20','AUG', '2024'], '-');

説明: 配列{’20’,’AUG’, ‘2024’}を、要素がダッシュまたはハイフンで区切られた文字列に変換します。

出力:

PostgreSQL での配列から文字列への変換 - array_to_string() 3

PostgreSQL の列の配列を文字列に変換するには:

array_to_string() 関数を使用して、テーブル内の列の配列値を文字列に変換できます。

テーブル名を「orders_arr_table」としましょう

PostgreSQL での配列から文字列への変換 - array_to_string() 4
SELECT *, array_to_string(order_items, ', ') AS items_string
FROM orders_arr_table;

array_to_string()は、上記のコードに示すように、order_items列全体を文字列列に変換します。出力は次のようになります。

出力:

PostgreSQL での配列から文字列への変換 - array_to_string() 5