ホームページ >データベース >mysql チュートリアル >SQL Server を使用してカンマ区切りのセル値を個々の行に変換するにはどうすればよいですか?
SQL Server を使用したカンマ区切りのセル値の個々の行への変換
テーブル内のデータを扱うとき、値が格納されている場合があります。単一セル内のカンマ区切りの文字列として。分析やさらなる処理を容易にするために、これらの値を別々の行に分割することが必要になる場合があります。この記事では、SQL Server SELECT クエリを使用してこの目的を達成する方法について説明します。
問題:
「String」という列を持つ「Sample」という名前のテーブルについて考えます。カンマ区切りの値が含まれます。各値が独自の行を占める形式にデータを変換する必要があります:
元のテーブル:
Id | String |
---|---|
1 | abc,def,ghi |
2 | jkl,mno,pqr |
必要な出力:
Id | processedrows |
---|---|
1 | abc |
1 | def |
1 | ghi |
2 | jkl |
2 | mno |
2 | pqr |
解決策:
目的の出力を実現するには、次の SELECT を利用できます。クエリ:
SELECT A.[id], Split.a.value('.', 'VARCHAR(100)') AS String FROM (SELECT [id], CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML) AS String FROM TableA) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
説明:
リファレンス:
この手法と代替ソリューションの詳細については、次のリソースを参照してください:
http:/ /www.sqljason.com/2010/05/converting-single-comma- Separated-row.html
以上がSQL Server を使用してカンマ区切りのセル値を個々の行に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。