我想知道我可以通过XML类型列的节点对我的查询进行排序吗?
例如我有一张表
ID(int)|数据(XML)
其中数据列以类似于
的形式存储XML<?xml?>
<Data>
<SimpleOrderedValue>1</SimpleOrderedValue>
<ComplicatedInternals>
...
</ComplicatedInternals>
</Data>
我想通过SimpleOrderedValue查询此表。我可以在带有XML列的MS SQL Server 2008上执行此操作吗?或者我可以使用CLR UDT做什么,但没有额外的计算列,并且在某种程度上使数据列被编入索引(以便更快地搜索)。
将不胜感激任何帮助。 感谢。
答案 0 :(得分:4)
XQuery表达式怎么样;
select id, data
from T
order by data.value('(/Data/SimpleOrderedValue)[1]', 'int')