查詢XML類型數(shù)據(jù)的SQL語句
在定義了一個XML類型的數(shù)據(jù)之后,經(jīng)常會用到查詢操作,下文就將為您介紹如何使用SQL語句來進行查詢操作,供您參考學(xué)習(xí)。
在T-Sql中,提供了兩個對XML類型數(shù)據(jù)進行查詢的函數(shù),分別是query(xquery)和value(xquery, dataType),其中,query(xquery)得到的是帶有標簽的數(shù)據(jù),而value(xquery, dataType)得到的則是標簽的內(nèi)容。接下類我們分別使用這兩個函數(shù)來進行查詢。
1、使用query(xquery) 查詢
我們需要得到書的標題(title),使用query(xquery)來進行查詢,查詢SQL語句為:
query()函數(shù)
select @xmlDoc.query('/book/title')
2、使用value(xquery, dataType) 查詢
同樣是得到書的標題,使用value函數(shù),需要指明兩個參數(shù),一個為xquery, 另一個為得到數(shù)據(jù)的類型??聪旅娴牟樵冋Z句:
value()函數(shù)
select @xmlDoc.value('(/book/title)[1]', 'nvarchar(max)')
3、查詢屬性值
無論是使用query還是value,都可以很容易的得到一個節(jié)點的某個屬性值,例如,我們很希望得到book節(jié)點的id,我們這里使用value方法進行查詢,SQL語句為:
查詢屬性
select @xmlDoc.value('(/book/@id)[1]', 'nvarchar(max)')
【編輯推薦】