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

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

DDD
發布: 2025-01-20 19:27:15
原創
403 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板