sql - 如何使用 XQuery/SQL 进行解码等?

标签 sql sql-server xpath xquery xquery-sql

使用 Microsoft SQL Server...

declare @x xml
set @x = '<Example>&lt;You &amp; Me&gt;</Example>'
select cast(@x.query('/Example/text()') as nvarchar(50))

结果是“<你和我>”而不是“<你和我>”。

如何让 SQL 以“<”、“&”等方式读取 XML和“>”已解码?

最佳答案

使用value()而不是 query()

declare @x xml
set @x = '<Example>&lt;You &amp; Me&gt;</Example>'
select @x.value('(/Example)[1]', 'nvarchar(50)')

SQL-Fiddle

关于sql - 如何使用 XQuery/SQL 进行解码等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001348/

相关文章:

mysql - 从库存中获取可用设备的 SQL 语句

mysql - 使用 ORDER BY 覆盖索引

mysql - 多个 MySQL DATETIME 列

sql - 比较 T-SQL 中的日期,忽略时间部分

javascript - 快速路由器 :id

xpath - 如何要求所有节点满足 XPath 谓词以使谓词返回 true

css - Selenium IDE - 验证类的值

sql-server - 如何获取 SQL Server 2008 中当前行和前一行之间的百分比

sql-server - SQL Server 将变量 varchar 字段转换为金钱/小数/带小数位的内容

java - 如何在没有 DOM 的情况下在 java 中读取 XML?