スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Postgresqlで行と配列と文字列の相互変換

PostgreSQLで行と配列と文字列の相互変換の方法をまとめました。

・テーブル例
SELECT t1.id FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t1(id, name)


1
2
3

・列を配列にする。
集約関数
SELECT array_agg(t1.id) FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t1(id, name)


{1,2,3}

普通の関数
SELECT ARRAY(SELECT t1.id FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t1(id, name))


{1,2,3}

・配列を行にする。
SELECT unnest(ARRAY[1,2,3])


1
2
3

・配列を文字列にする
SELECT array_to_string(ARRAY[1,2,3], ',')


1,2,3

・文字列を配列にする
SELECT regexp_split_to_array('1,2,3', ',')


{1,2,3}

・文字列を列にする
SELECT regexp_split_to_table('1,2,3', ',')


1
2
3

・列を文字列にする
SELECT array_to_string((SELECT array_agg(id) FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t1(id, name)), ',')


1,2,3
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。