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

अघोषित उपसर्ग के साथ SQL सर्वर Xml क्वेरी

आपका उदाहरण दो तरह से अमान्य है:

  1. इसमें नामस्थान उपसर्ग के बिना नामस्थान की घोषणा के बिना अनुमति नहीं है।
  2. आपका समापन टैग में / . शामिल नहीं है हर जगह...

यह एक बदसूरत हैक है, लेकिन आप इसे आजमा सकते हैं:

DECLARE @Params XML
SET @Params = REPLACE('<filter>
                      <ns0:from>2016-09-19</ns0:from>
                      <ns0:to>2017-01-01</ns0:to>
               </filter>','ns0:','');
SELECT @Params.value('(/*:filter/*:from)[1]', 'date') AS [from];

यदि आप सभी नामस्थान उपसर्गों को पहले से नहीं जानते हैं तो यह वास्तव में मुश्किल हो जाएगा...




  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 सर्वर में लिंक्ड सर्वर डीबी का उपयोग करके दृश्य बनाएं

  2. SQL सर्वर स्लीप के समतुल्य ():WAITFOR स्टेटमेंट

  3. 'Xp_cmdshell' SQL सर्वर सक्षम करें

  4. संग्रहीत कार्यविधि द्वारा लौटाई गई पंक्तियों की संख्या की गणना करना

  5. सीएएल लाइसेंसिंग के तहत SQL सर्वर 2012 एंटरप्राइज़ संस्करण के साथ प्रदर्शन समस्याएं