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

Microsoft SQL Serverで行をカンマ区切りの文字列に連結するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-16 23:37:12908ブラウズ

How to Concatenate Rows into a Comma-Delimited String in Microsoft SQL Server?

行をカンマ区切りの文字列に連結します

Microsoft SQL Server を使用するデータベース ユーザーの一般的なタスクは、複数の行を単一のカンマ区切り文字列にマージすることです。これにより、データ操作が簡素化され、簡単な処理が可能になります。

質問:

Microsoft SQL Server を使用して行セットからカンマ区切りの文字列を取得するにはどうすればよいですか?

解決策:

Microsoft SQL Server は、この目的のために STUFF と FOR XML という 2 つの強力なメソッドを提供します。次のクエリは、それらを効果的に使用する方法を示しています:

<code class="language-sql">SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') AS [output];</code>

説明:

  • STUFF: STUFF() 関数は、指定された文字列を別の文字列の指定された位置に挿入します。
  • FOR XML PATH (''): FOR XML PATH ('') 句は、各行が要素として表されるデータの XML 表現を作成します。空の文字列パラメータを使用すると、XML マークアップが生成されないため、カンマ区切りリストの作成に適しています。

これらの手法を組み合わせることで、クエリは名前をカンマで徐々に連結し、単一のカンマ区切り文字列を生成します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。