ホームページ > データベース > mysql チュートリアル > SQL Server でカンマ区切り値を行に変換するにはどうすればよいですか?

SQL Server でカンマ区切り値を行に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-03 08:28:39
オリジナル
297 人が閲覧しました

How to Convert Comma-Separated Values to Rows in SQL Server?

カンマ区切り値を行構造データに変換する

SQL Server で、データが列内にカンマ区切り形式で格納される場合、個々の値を抽出して操作するのは難しい場合があります。この記事では、選択クエリを使用してこのようなデータを行構造形式に変換する方法を説明します。

カンマを含む String という列を持つ Sample という名前のテーブルについて考えてみましょう。

Id String
1 abc,def,ghi
2 jkl,mno,pqr

などの分離された値。個々の値を抽出して行として表示するには、次の手順:

  1. String 列を XML タグ内でラップします:

    CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML)
    ログイン後にコピー

    これにより、各値が 1 つのフィールド内にカプセル化された XML フラグメントが作成されます。

  2. CROSS APPLY 演算子を使用して階層クエリを実行します。

    CROSS APPLY String.nodes ('/M') AS Split(a)
    ログイン後にコピー

    これにより、XML フラグメントにノード メソッドが相互適用され、新しい結果が得られます。各 の行

  3. Id 列と Split(a).value('text()') タグを結合します。 > 式:

    SELECT A.[id], Split.a.value('.','VARCHAR(100)') AS String
    FROM (SELECT [id], CAST('...AS XML) AS String FROM Sample) AS A
    ログイン後にコピー

    これは、抽出された値と ID を照合し、それらを個別に返しますrows.

結果は目的の出力のようになります。

Id ProcessedRows
1 abc
1 def
1 ghi
2 jkl
2 mno
2 pqr

この手法により、カンマ区切り値を行として抽出して表示できるため、効率的な分析が可能になります。データの操作

以上がSQL Server でカンマ区切り値を行に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート