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

SQL सर्वर में XML कॉलम से क्वेरी डेटा

.query हमेशा डेटा प्रकार XML लौटाएगा।

किसी मान को क्वेरी करने के लिए आपको ".value" का उपयोग करना चाहिए, और डेटा प्रकार को दूसरे पैरामीटर के रूप में निर्दिष्ट करना चाहिए।

इसके बजाय इसका इस्तेमाल करें:

declare @xmlobj as xml = '<SimpleUserData xmlns="http://schemas.datacontract.org/2004/07/MyProject.CustomFx.Web" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" z:Id="1" z:Type="MyProject.CustomFx.Web.SimpleUserData" z:Assembly="MyProject.CustomFx.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
      <BatchDescription z:Id="2">I want this value</BatchDescription>
      <BatchID>9c437c08-0f28-4c77-9a50-49a7a4e8930a</BatchID>
      <BatchTemplateID>And this value too</BatchTemplateID>
    </SimpleUserData>';

WITH XMLNAMESPACES('http://schemas.datacontract.org/2004/07/MyProject.CustomFx.Web' as x)
select
  @xmlobj.value('(/x:SimpleUserData[1]/x:BatchDescription[1])','nvarchar(max)') as value1
 ,@xmlobj.value('(/x:SimpleUserData[1]/x:BatchTemplateID[1])','nvarchar(max)') as value2;



  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 सर्वर का उपयोग करके रिक्त स्थान को शून्य मानों में कैसे परिवर्तित करें?

  3. Sql सर्वर प्रोफाइलर फ्री टूल

  4. SQL सर्वर में किसी तालिका में इष्टतम अद्वितीय पहचानकर्ता कैसे खोजें:sp_special_columns

  5. जहां एक विशिष्ट महीने में सभी रिकॉर्ड खोजने के लिए क्लॉज