use*_*170 4 xml sql sql-server
假设我使用 FOR XML 子查询来允许连接和排序,此外,数据包含尖括号:
SELECT STUFF((SELECT ', ' + '<' + NAME + '>'
FROM [sys].[login_token]
ORDER BY NAME
FOR XML PATH('')), 1, 2, '') AS Logins;
Run Code Online (Sandbox Code Playgroud)
输出是这样的
<\Everyone>, <BUILTIN\Administrators>, <BUILTIN\Administrators>
Run Code Online (Sandbox Code Playgroud)
我怎样才能解码它,也就是说,像这样:
<\Everyone>, <BUILTIN\Administrators>, <BUILTIN\Administrators>,
Run Code Online (Sandbox Code Playgroud)
?
您可以对 XML 进行查询并返回转换后的值!
SELECT STUFF((SELECT ', ' + '<' + NAME + '>'
FROM [sys].[login_token]
ORDER BY NAME
FOR XML PATH(''), type).value('.','NVARCHAR(MAX)')
, 1, 2, '') AS Logins;
Run Code Online (Sandbox Code Playgroud)
您添加, type到FOR XML PATH规范中,然后添加一个.value带有 XQuery 表达式和要转换为的数据类型!请参阅此处的 MSDN:
https://msdn.microsoft.com/en-us/library/ms178030.aspx
| 归档时间: |
|
| 查看次数: |
2088 次 |
| 最近记录: |