XML XQuery

--XQuery 基于现有的 XPath 查询语言,并支持更好的迭代、更好的排序结果以及构造必需的 XML 的功能。

--1.声明一个 xml 类型的变量,然后使用 xml 数据类型的 query() 方法来查询此变量
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')

--查找属性aid=20的a节点
DECLARE @x xml
SET @x = '<ROOT>
   <a aid="10">10</a>
   <a aid="20">20</a>
      </ROOT>'
SELECT @x.query('/ROOT/a[@aid=20]')


--2.询是针对 AdventureWorks 数据库中 ProductModel 表的 xml 类型的 Instructions 列指定的。
--查找条件ProductModelID=7,属性LocationID=10的Location节点
SELECT Instructions.query('declare namespace AWMI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";        
    /AWMI:root/AWMI:Location[@LocationID=10]
') as Result
FROM  Production.ProductModel
WHERE ProductModelID=7
--XQuery 包含命名空间声明(declare namespace AWMI=...)和查询表达式(/AWMI:root/AWMI:Location[@LocationID=10])。

DECLARE @x xml
SET @x = '<ROOT>
   <a aid="10">10</a>
   <a aid="20">20</a>
      </ROOT>'
SELECT @x.query('/ROOT/a[@aid=20]')

你可能感兴趣的:(XML XQuery)