Bạn có thể sử dụng .exist()
phương pháp - một cái gì đó như thế này:
SELECT
(list of columns)
FROM
dbo.YourTable
WHERE
YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1
Điều này kiểm tra giá trị cụ thể mà bạn đã cung cấp. Bạn càng có thể xác định chính xác XPath nơi giá trị đó được mong đợi sẽ được tìm thấy, thì hiệu suất của bạn càng tốt.
YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1
khá tệ - nó xem xét từng <Value>
nút ở bất kỳ đâu trong XML để tìm giá trị đó.
Một cái gì đó như thế này:
YourXmlColumn.exist('/Attributes/ProductVariantAttribute/ProductVariantAttributeValue/Value[text()="5052095050830"]') = 1
sẽ tập trung hơn nhiều và do đó tốt hơn nhiều cho hiệu suất - nhưng nó sẽ chỉ những nút cụ thể được xác định bởi chính câu lệnh XPath đó