2011-01-13 85 views
7

是否有方法可以比較SQL Server 2008中XML的變量或列,這與比較可以從XML值創建的varchar不同?一些哈希機制?SQL Server 2008:如何比較XML?

例如:

declare @xml1 xml = '<Xml1/>' 
declare @xml2 xml = '<Xml2/>' 
select case when @xml1 = @xml2 then 1 else 0 end 

回答

12
select case when cast(@xml1 as nvarchar(max)) = cast(@xml2 as nvarchar(max)) then 1 else 0 end 
+0

我只是嘗試了這一點。它運作良好。忽略空白的差異,這正是我所擔心的。我比較了兩個XML變量,除了幾個縮進外,都設置爲相同的XML,並且比較返回true。但是,在更改其中一個元素的文本值後,比較現在返回false。 – 2013-07-24 21:38:31