在定義了壹個XML類型的數據之後,我們最常用的就是查詢操作,下面我們來介紹如何使用SQL語句來進行查詢操作的。
在T-Sql中,提供了兩個對XML類型數據進行查詢的函數,分別是query(xquery)和value(xquery,
dataType),其中,query(xquery)得到的是帶有標簽的數據,而value(xquery,
dataType)得到的則是標簽的內容。接下類我們分別使用這兩個函數來進行查詢。
1
、使用query(xquery)
查詢
我們需要得到書的標題(title),使用query(xquery)來進行查詢,查詢語句為:
select
@xmlDoc.query('/book/title')
2
、使用value(xquery,
dataType)
查詢
同樣是得到書的標題,使用value函數,需要指明兩個參數,壹個為xquery,
另壹個為得到數據的類型。看下面的查詢語句:
select
@xmlDoc.value('(/book/title)[1]',
'nvarchar(max)')
3
、查詢屬性值
無論是使用query還是value,都可以很容易的得到壹個節點的某個屬性值,例如,我們很希望得到book節點的id,我們這裏使用value方法進行查詢,語句為:
select
@xmlDoc.value('(/book/@id)[1]',
'nvarchar(max)')
4
、使用xpath進行查詢
xpath是統壹的Xml查詢語句。使用XPath可以方便的得到想要的節點,而不用使用where語句。例如,我們在@xmlDoc中添加了另外壹個節點
例如
:得到id為0002的book節點
select
@xmlDoc.query('(/root/book[@id="0002"])')
參考資料:
/news/490.html