在sql表上使用xquery和SQL进行查询

时间:2015-10-03 04:37:25

标签: xpath xquery-sql

我有 sql 表, 3列,其中一列是 xml 。 xml中的一些元素是重复的。

如何查询xml元素出现多次的表?

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

以下情况:

  • 您的表格中有一个主键(样本中为id
  • 您的xml数据是由程序生成的(因此没有选项卡,空格,人工插入的回车)

我认为,您可以尝试使用以下查询来查找副本:

SELECT *
FROM <table> AS t1
WHERE EXISTS (SELECT 1 
        FROM <table> AS t2
        WHERE t2.Id <> t1.Id
            AND CONVERT(NVARCHAR(MAX),t2.<xmlcol>) = CONVERT(NVARCHAR(MAX),t1.<xmlcol>))