假设我正在使用FOR XML子查询来进行串联和排序,此外,数据还包含尖括号:
SELECT STUFF((SELECT ', ' + '<' + NAME + '>'
FROM [sys].[login_token]
ORDER BY NAME
FOR XML PATH('')), 1, 2, '') AS Logins;
输出是这样的
<\Everyone>, <BUILTIN\Administrators>, <BUILTIN\Administrators>
我如何对其进行解码,也就是说,像这样:
<\Everyone>, <BUILTIN\Administrators>, <BUILTIN\Administrators>,
?
您可以对XML进行查询并返回转换后的值!
SELECT STUFF((SELECT ', ' + '<' + NAME + '>'
FROM [sys].[login_token]
ORDER BY NAME
FOR XML PATH(''), type).value('.','NVARCHAR(MAX)')
, 1, 2, '') AS Logins;
您将添加, type
到FOR XML PATH
规范中,然后将.value
其转换为XQuery表达式和数据类型!在此处查看MSDN:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句