Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 XPath

आप .exist() . का उपयोग कर सकते हैं विधि - कुछ इस तरह:

SELECT 
(list of columns) 
FROM
dbo.YourTable
WHERE
YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1

यह आपके द्वारा प्रदान किए गए विशेष मूल्य के विरुद्ध जाँच करता है। जितना अधिक सटीक रूप से आप उस XPath को परिभाषित कर सकते हैं जहां वह मान मिलने की उम्मीद है, आपके प्रदर्शन के लिए बेहतर होगा।

YourXmlColumn.exist('//Value[text()="5052095050830"]') = 1

बहुत बुरा है - यह हर एक <Value> . में दिखता है उस मान को खोजने के लिए XML में कहीं भी नोड.

कुछ इस तरह:

YourXmlColumn.exist('/Attributes/ProductVariantAttribute/ProductVariantAttributeValue/Value[text()="5052095050830"]') = 1

अधिक केंद्रित होगा और इस प्रकार प्रदर्शन के लिए बहुत बेहतर होगा - लेकिन यह केवल उन विशेष नोड्स को ही XPath कथन द्वारा परिभाषित किया जाएगा



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में JSON कुंजी का नाम कैसे बदलें

  2. एसक्यूएल सर्वर (टी-एसक्यूएल) में ब्रैकेट के साथ नकारात्मक मूल्यों को कैसे प्रारूपित करें

  3. अटैचमेंट के साथ डेटाबेस ईमेल (एक्सेल फाइल / पीडीएफ फाइल)?

  4. SQL सर्वर:समान कॉलम प्रदर्शन के लिए एकाधिक अनुक्रमणिका

  5. SQL सर्वर में सम्मिलन के क्रम को कैसे बनाए रखें