首頁 >資料庫 >mysql教程 >如何在較舊的 SQL Server 版本(2017 年之前)中實現字串聚合?

如何在較舊的 SQL Server 版本(2017 年之前)中實現字串聚合?

DDD
DDD原創
2025-01-20 19:27:15477瀏覽

How Can I Achieve String Aggregation in Older SQL Server Versions (Pre-2017)?

在舊版 SQL Server 中使用 String_agg 的方法

string_agg 函數是將多行連接成單一字串的強大工具,廣泛應用於 PostgreSQL 和 SQL Server 等各種 SQL 資料庫中。但是,在 2017 年之前的 SQL Server 版本中,並不原生支援 string_agg 函數。

SQL Server 2014 的解決方案:

要在 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>

此查詢中:

  • FOR XML PATH('') 函數產生一個用逗號分隔的 id 值清單。
  • STUFF 函數刪除結果中的初始逗號。
  • CAST(t.id AS VARCHAR(MAX)) 確保所有 id 值都轉換為字串,而不管其原始資料類型為何。

這種方法有效地模擬了 string_agg 的行為,讓您可以將多個 id 值連接成單一以逗號分隔的字串。

以上是如何在較舊的 SQL Server 版本(2017 年之前)中實現字串聚合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn