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

SQL सर्वर में XQuery का उपयोग करके XML डेटा के दो सेटों की तुलना करें

;with XML1 as
(
  select T.N.value('local-name(.)', 'nvarchar(100)') as NodeName,
         T.N.value('.', 'nvarchar(100)') as Value
  from @XML1.nodes('/NewDataSet/Employee/*') as T(N)
),
XML2 as
(
  select T.N.value('local-name(.)', 'nvarchar(100)') as NodeName,
         T.N.value('.', 'nvarchar(100)') as Value
  from @XML2.nodes('/NewDataSet/Employee/*') as T(N)
)
select coalesce(XML1.NodeName, XML2.NodeName) as NodeName, 
       XML1.Value as Value1, 
       XML2.Value as Value2
from XML1
  full outer join XML2
    on XML1.NodeName = XML2.NodeName
where coalesce(XML1.Value, '') <> coalesce(XML2.Value, '')    

परिणाम:

NodeName             Value1               Value2
-------------------- -------------------- --------------------
EmpID                1005                 1006
DOB                  12/02/1981           05/02/1981
DeptID               ACC001               ACC002
Salary               10,500               10,900


  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 सर्वर में तालिका मौजूद है या नहीं, यह जांचने के 6 तरीके (T-SQL उदाहरण)

  2. SSRS रिपोर्ट सदस्यता एक त्रुटि के साथ समाप्त हुई

  3. लॉगिंग ओडीबीसी, एसक्यूएल सर्वर

  4. प्रति समूह पहली पंक्ति का चयन

  5. कोई संग्रहीत कार्यविधि पर पुनरावृति कैसे कर सकता है, किसी अन्य संग्रहीत कार्यविधि के भीतर से .... बिना कर्सर के?