查询XML类型数据的SQL语句


  本文标签: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))