查询XML类型数据的SQL语句

在定义了一个XML类型的数据之后,经常会用到查询操作,下文就将为您介绍如何使用SQL语句来进行查询操作,供您参考学习。

在T-Sql中,提供了两个对XML类型数据进行查询的函数,分别是query(xquery)和value(xquery, dataType),其中,query(xquery)得到的是带有标签的数据,而value(xquery, dataType)得到的则是标签的内容。接下类我们分别使用这两个函数来进行查询。
   1、使用query(xquery) 查询
我们需要得到书的标题(title),使用query(xquery)来进行查询,查询SQL语句为:

query()函数
select @xmlDoc.query('/book/title')

2、使用value(xquery, dataType) 查询
同样是得到书的标题,使用value函数,需要指明两个参数,一个为xquery, 另一个为得到数据的类型。看下面的查询语句:

value()函数
select @xmlDoc.value('(/book/title)[1]', 'nvarchar(max)')

3、查询属性值
无论是使用query还是value,都可以很容易的得到一个节点的某个属性值,例如,我们很希望得到book节点的id,我们这里使用value方法进行查询,SQL语句为:

查询属性
select @xmlDoc.value('(/book/@id)[1]', 'nvarchar(max)')
 

 

【编辑推荐】

一些常用的SQL语句

查询表的字段名的sql语句写法

查询表结构的SQL语句

使用SQL语句查询时间段

巧用SQL语句删除重复记录

THE END