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

xsi के मान का चयन कैसे करें:SQL सर्वर में विशेषता टाइप करें?

संग्रह निर्दिष्ट किए बिना, यह मेरे लिए ठीक काम करता है:

DECLARE @X XML
SET @x = N' 
<parameters xmlns="http://www.educations.com/Search/Parameters.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <parameter  xsi:type="category" categoryID="38" />
</parameters>'
;

WITH    XMLNAMESPACES
        (
        'http://www.educations.com/Search/Parameters.xsd' as p,
        'http://www.w3.org/2001/XMLSchema-instance' as xsi
        )
SELECT  @X.value('(/p:parameters/p:parameter/@xsi:type)[1]','nvarchar(max)')

क्या आप कृपया search.SearchParameters . की सामग्री पोस्ट कर सकते हैं ?

अपडेट करें:

स्कीमा-बाउंड XML . पर , यह असंभव प्रतीत होता है।

आप अपने कॉलम को फ़्रीटाइप XML . में कास्ट कर सकते हैं :

WITH    XMLNAMESPACES
        (
        'http://www.educations.com/Search/Parameters.xsd' as p,
        'http://www.w3.org/2001/XMLSchema-instance' as xsi
        )
SELECT  CAST(@X AS XML).value('(/p:parameters/p:parameter/@xsi:type)[1]','nvarchar(max)')

(लेकिन आप XML . का उपयोग नहीं कर पाएंगे अपने कॉलम पर किसी की अनुक्रमणिका), या किसी विशिष्ट प्रकार पर बूलियन जांच करें:

WITH XMLNAMESPACES
        (
        'http://www.educations.com/Search/Parameters.xsd' as p
        )
SELECT @X.query('(/p:parameters/p:parameter)[1] instance of element(*, p:category?)')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पूर्ण पाठ अनुक्रमणिका के दो स्तंभों पर एक CONTAINS () कैसे करें खोज SQL

  2. SQL सर्वर एजेंट जॉब विफलता पर कई ऑपरेटरों को सूचित करें

  3. स्टेटमेंट डालें + ट्रिगर में टेबल डेटा और वैरिएबल को मिलाना

  4. डोमेन\उपयोगकर्ता के लिए सिंटैक्स प्रदान करें

  5. SQL का उपयोग करके एक स्ट्रिंग के भीतर शब्दों की संख्या खोजें