2012-05-17 2 views
0

Как отсортировать атрибуты XML в SQL?Сортировка атрибутов XML в SQL

, например, для этого XML:

<books><book b='' c='' a=''/></books> 

Я хочу:

<books><book a='' b='' c=''/></books> 
+0

Действительно, я хочу сравнить два поля XMl, которые имеют одинаковые атрибуты в разных порядках, и сравнение XML невозможно в SQL.so литье их в тип Varchar не возвращает истинный результат. Так что я считаю, что единственным решением является сортировка XML, а затем сравнить строки XML. – ARZ

+0

Вы видели это? [XQuery Lab 25 - Написание функции TSQL для сравнения двух значений XML (часть 1)] (http://beyondrelational.com/modules/2/blogs/28/posts/10306/xquery-lab-25-writing-a- TSQL-функции к-сравнить два-XML-значения частей-1.aspx). –

ответ

0

От http://msdn.microsoft.com/en-us/library/ms187107%28v=sql.90%29.aspx:

Порядок XML атрибуты не сохраняются. Когда вы запрашиваете экземпляр XML , хранящийся в столбце типа xml, порядок атрибутов в , полученный XML может отличаться от исходного экземпляра XML.

Так что, даже если бы вы могли выяснить способ сортировки атрибутов, вы не можете доверять тому, что тип данных XML в SQL Server сохранит нужный вам порядок.

+0

Отметьте мой комментарий, который находится под Q. – ARZ

Смежные вопросы