SQL Server: упорядочить по узлу столбца XML - PullRequest
3 голосов
/ 27 мая 2010

Мне было интересно, можно ли ЗАКАЗАТЬ ПО моему запросу по узлу типизированного столбца XML?

Например, у меня есть таблица

ID (int) | Данные (XML)

Где столбец Data хранит XML в форме, подобной этой

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

Я хочу запросить эту таблицу, упорядоченную по SimpleOrderedValue. Могу ли я сделать это на MS SQL Server 2008 со столбцом XML? Или я могу сделать это с помощью CLR UDT, но без дополнительного вычисляемого столбца и таким образом, чтобы столбец данных был проиндексирован (для более быстрого поиска).

Буду признателен за любую помощь. Спасибо.

1 Ответ

4 голосов
/ 27 мая 2010

Как насчет выражения XQuery ;

select id, data
from T
  order by data.value('(/Data/SimpleOrderedValue)[1]', 'int') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...