Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

So sánh hai tập dữ liệu XML bằng XQuery trong SQL Server

;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, '')    

Kết quả:

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. Làm thế nào để xác định các đối tượng hệ thống khi xem danh sách các đối tượng cơ sở dữ liệu SQL Server?

  2. Chọn và chỉnh sửa khối dọc trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 9

  3. Câu lệnh xóa SQL Server:Cách xóa một hoặc nhân hàng khỏi bảng

  4. Tầm quan trọng của nhật ký giao dịch trong SQL Server

  5. Làm thế nào để đặt thuộc tính SSRS ConsumeContainerWhitespace trong Visual Studio 2008?