为了消除微小差异的可能性,我将通过XML转换(XSLT)运行请求。
另外,由于您已经有了将其解析为非规范化登台表的代码,所以也可以。然后,我将简单地使用FOR XML创建一个新的XML文档。
您的目标是创建一个标准化的XML文档,该文档在适当的情况下尊重排序,并在不存在的情况下消除不一致之处。
完成后,将其存储在新表中。现在,您可以将“标准化”请求XML与现有数据进行直接比较。
要进行实际的比较,您可以使用哈希,将XML存储为字符串并进行直接的字符串比较,或进行完整的XML比较,如下所示:http ://beyondrelational.com/modules/2/blogs/28/帖子/ 10317 / xquery- lab-36-编写一个tsql函数以比较两个xml值- part-2.aspx
只要XML不会超过8000bytes,我的首选就是创建一个唯一的字符串(如果您有特殊字符支持,则为VARCHAR(8000)或NVARCHAR(4000))并在该列上创建一个唯一的索引。