2020-01-07 更新

カンマ区切りの文字列を分解して複数のデータ行に変換する(STRING_SPLIT)

カンマ区切りの文字列を分解して複数のデータ行に変換する方法です。逆のパターンを調べている過程で、SQLServer 2016から「STRING_SPLIT」を使って簡単にできることを知ったので、メモとして残しておきます。

目次

  • コード
  • SQLの実行結果
  • 参考リンク

コード

SQLは以下の通りです。


SELECT
value

FROM
STRING_SPLIT ( 'a,bb,ccc,  ,  ' , ',' )

WHERE 
TRIM(value) <> '';  

TRIM(value) <> '' で空白となるデータ行を除外しています。

SQLの実行結果

上記のSQLを実行した結果は以下の通りです。

value
a
bb
ccc

SQLServer 2016 からなので、なかなか使う機会が今のところありませんが、機会があったら利用してみたいです。

参考リンク

SQL Server】関連記事