![](/img/trans.png)
[英]XPATH Query to get data from XML stored in a SQL Server DB column
[英]How to query data in XML column in SQL Server
我在xml
列中有這樣的數據:
<product>
<productID>1</productID>
<productname>tea</productname>
</product>
<product>
<productID>2</productID>
<productname>coffee</productname>
</product>
我想將productname
的值更改為productID = 2
綠茶 。
我在用:
UPDATE [dbo].ProductDocs
SET ProductDoc.modify('replace value of (/Product/ProductName)[2] with "NewName"')
但在這里它總會改變第二個產品的價值。 請告訴我如何使用productID
進行查詢。
使用謂詞表達式按productID
值過濾product
元素,如下所示:
UPDATE [dbo].ProductDocs
SET ProductDoc.modify('
replace value of (/product[productID=2]/productname/text())[1] with "NewName"
')
另請注意,如其他答案中所述,XML和XPath / XQuery區分大小寫。
首先, XML
是區分大小寫的, XQuery
表達式也是如此。
現在你可以做到這一點。
UPDATE [dbo].ProductDocs
SET ProductDoc.modify('replace value of (/product[productID=2]/productname/text())[1] with "GreenTea"')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.