天天看點

知方可補不足~sqlserver中對xml類型字段的操作

回到目錄

在sqlserver中有很多種資料類型,而XML資料類型是比較新奇怪的一種格式,我們平常接觸的可能比較少,用的也少,而在某些場合,使用XML類型可能會使我們的開發變簡單,下面就是一種情況:

表test有字段Menu,它儲存的資訊可能有兩種方式,對标準menu,擴充menu,自定義Menu等,而這些方式所需要的鍵/值是不同的,有些同學會說使用Json串來存儲,這當然是一種很不錯的方式,但是資料庫并沒有這種類型,是以在查詢,聚合時非常困難,這些我們想到了xml格式,它是SQLSERVER的是一種資料類型,支援查詢,聚合等操作,下面我們來學習一下.

1 XML字段結構如下

<WxPaymentConfig>
   <demo>zhang</demo>
   <price>1000</price> 
</WxPaymentConfig>      

2 查詢資料,通過XML類型作為條件

SELECT *
FROM    demo
WHERE   Menu.value('(/WxPaymentConfig/demo)[1]', 'nvarchar(50)') = 'zhang'      

3 查詢資料同時對它進行統計,即執行某些聚合操作

SELECT  SUM(Menu.value('(/WxPaymentConfig/price)[1]', 'decimal'))
FROM    demo
WHERE   Menu.value('(/WxPaymentConfig/demo)[1]', 'nvarchar(50)') = 'zhang'      

結果是我們所希望看到的

作者:倉儲大叔,張占嶺,

榮譽:微軟MVP

QQ:853066980

支付寶掃一掃,為大叔打賞!

知方可補不足~sqlserver中對xml類型字段的操作