2011-01-13 53 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