在XML节点上使用'LIKE'加入?

时间:2011-06-30 16:02:12

标签: sql-server xml tsql

我有一个在xml节点上使用匹配来连接表的视图,如下例所示:

....CROSS APPLY xmlData.Nodes('/element/subElement')....

问题是我们现在有了名为'element2'和'element3'的元素,这些元素不会被拾取。有没有办法包含这些,几乎在节点上使用LIKE也可以选择这些?

这些方面的东西:

....CROSS APPLY xmlData.Nodes('/element%/subElement')....

或是手动将这些额外节点添加到视图中的情况?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用XQuery表达式

CROSS APPLY xmlData.nodes('/*/subElement')

<强>更新

如果您需要更具体,可以使用

CROSS APPLY xmlData.nodes('/*[substring(local-name(),1,7)="element"]/subElement')
理论starts-with中的

会比substring好,但它在SQL-server-2005中不起作用,我无法使用SQL-server-2008进行测试