あるカラムにカンマ区切りでデータが入っており、それを簡単に分割したいという場合があります。
(※Postgres9にて確認)
このような場合は、regexp_split_to_tableを利用すると簡単に実現することが可能です。
hogeテーブルに下記のデータが入っているとします。
ID | numebr |
1 | 1,2,3,4,5 |
2 | 6,7,8,9,10 |
SELECT id,regexp_split_to_table(number, ',') FROM hoge --------------------------- ID,regexp_split_to_table(number, ',') 1 1 1 2 1 3 1 4 1 5 2 6 2 7 2 8 2 9 2 10 ---------------------------
上記のように分割されるのでとても便利です。
また、カンマだけでなく引数を変えることでスペース区切りなどでも対応することが可能です。
参考
http://postgresql.g.hatena.ne.jp/iakio/20080429/1209490294
こちらの記事はなかの人(kenjionsoku)監修のもと掲載しています。
元記事は、こちら