string_agg
SQL Server 的 string_agg
函數於 2017 年推出,簡化了字串連線。 然而,對於舊版本,我們需要替代方法。本文示範了一種實現類似結果的方法。
目標是複製此查詢的功能:
<code class="language-sql">SELECT STRING_AGG(t.id, ',') AS id FROM Table t;</code>
這使用逗號作為分隔符號連接「Table」表中的「id」列值。
2017 年之前的 SQL Server 缺少 string_agg
。 此解決方案利用FOR XML PATH
方法:
<code class="language-sql">SELECT STUFF((SELECT ',' + CAST(t.id AS VARCHAR(MAX)) FROM Table t FOR XML PATH('')), 1, 1, '');</code>
這巧妙地建構了一個逗號分隔的字串。 FOR XML PATH('')
產生 XML 表示形式,有效建立逗號分隔清單。 STUFF()
然後刪除前導逗號。 這有效地模仿了 string_agg
行為。
此解決方法為舊版 SQL Server 中的字串連線提供了實用的解決方案,鏡像了較新 string_agg
函數的功能。
以上是如何複製SQL Server 2017年之前版本的`string_agg`函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!