ホームページ >データベース >mysql チュートリアル >2017 年より前の SQL Server で文字列集計を実行するにはどうすればよいですか?

2017 年より前の SQL Server で文字列集計を実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-20 19:45:18787ブラウズ

SQL Server 字符串聚合 (2017 年之前)

SQL Server 2017 より前のバージョンでの文字列集計

さまざまなシナリオで、文字列の集約が必要になります。 Postgresql のようなデータベースは、このニーズを満たすための単純な string_agg 関数を提供します。ただし、2017 より前のバージョンの SQL Server にはこの機能がないため、ユーザーは代替機能を見つける必要があります。

解決策の 1 つは、XML PATH オプションを利用することです。次のクエリは、SQL Server 2014 でこのアプローチを適用する方法を示しています。

<code class="language-sql">select stuff( (select ',' + cast(t.id as varchar(max))
               from tabel t
               for xml path ('')
              ), 1, 1, ''
            );</code>
このクエリでは、

関数の唯一の目的は、先頭のカンマを削除することです。文字列集約の実際の作業は、stuff() 式によって実行されます。結果は、テーブル t から生成された ID のカンマ区切りのリストです。 for xml path

このアプローチは、

関数を使用するほど直観的ではないかもしれませんが、組み込み関数を持たないバージョンの SQL Server における文字列集計の実行可能な代替手段となります。 string_agg

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

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