文章出處

回到目錄

在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'

結果是我們所希望看到的

回到目錄


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()