xml - SQL 服务器 : Order by XML column's node

标签 xml sql-server-2008 indexing

我想知道我能否按 XML 类型列的节点对查询进行排序?

比如我有一张 table

ID(整数) |数据(XML)

Data 列以类似于此的形式存储 XML

<?xml?>
<Data>
   <SimpleOrderedValue>1</SimpleOrderedValue>
   <ComplicatedInternals>
      ...
   </ComplicatedInternals>
</Data>

我想查询这个按 SimpleOrderedValue 排序的表。我可以在带有 XML 列的 MS SQL Server 2008 上执行此操作吗?或者我可以使用 CLR UDT 来做一些事情,但没有额外的计算列,并且以某种方式为数据列编制索引(以便更快地搜索)。

将不胜感激任何帮助。 谢谢。

最佳答案

XQuery 怎么样?表达;

select id, data
from T
  order by data.value('(/Data/SimpleOrderedValue)[1]', 'int') 

关于xml - SQL 服务器 : Order by XML column's node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921046/

相关文章:

Java DOM 解析器无法解析一行 XML

android - 如何在点击事件中为按钮添加点击效果?

c# - 从 Dictionary<int, StringBuilder> 到表值 SqlParameter。如何?

python - Numpy 从形状广播索引

python - 在大型一维 NumPy 数组中切片模式

php - 批量导入/更新数据到数据库

javascript - jQuery AJAX 函数调用多次,但仅在第一次调用时提取数据

sql - REPLACE INTO 查询是好的做法吗?

sql - 根据匹配列进行选择

mysql - 聚集索引在SQL查询上的性能