本文介紹了SQL Server 2016中的STRING_AGG替換的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我希望聚合單列值,中間帶有分隔符,并帶有一些前綴。
下面是測試過的代碼,可以正常工作。
SELECT concat('TNB/IAG/',STRING_AGG(WF_ValStr, '/')) AS Result
FROM wfattrdata where wf_id=35262472 and WF_AttrID in (28,29,30,31,33);
我可以在最新的MSSQL版本中獲得以下預期結果。
TNB/IAG/1/2/3/4/5
如何替換以上查詢以使其在SQL Server 2016中工作?
推薦答案
檢查以下內容,xml代碼-
SELECT DISTINCT CONCAT('TNB/IAG/',T1.results) AS EXPECTED_RESULT FROM
(
select REPLACE(STUFF(CAST((
SELECT ' /' +CAST(c.WF_ValStr AS VARCHAR(MAX))
FROM (
SELECT distinct WF_ValStr
FROM wfattrdata
) c
FOR XML PATH(''), TYPE) AS VARCHAR(MAX)), 1, 2, ''),' ','') AS results
from wfattrdata t) T1;
這篇關于SQL Server 2016中的STRING_AGG替換的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,