SQL Server 2017 之前版本的字串聚合
在各種場景中,都存在著對字串聚合的需求。像 Postgresql 這樣的資料庫提供了簡單的 string_agg
函數來滿足這項需求。然而,在 2017 年之前的 SQL Server 版本中,缺少此函數,使用者需要尋找替代方案。
一種解決方案是利用 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()
函數的唯一目的是刪除開頭的逗號。字串聚合的實際工作由 for xml path
表達式執行。結果是從表 t 產生的以逗號分隔的 id 清單。
這種方法可能不如使用 string_agg
函數那樣直觀,但它為在沒有內建函數的 SQL Server 版本中進行字串聚合提供了一種可行的替代方案。
以上是2017年之前的SQL Server如何進行字串聚合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!