Как отсортировать атрибуты XML в SQL?Сортировка атрибутов XML в SQL
, например, для этого XML:
<books><book b='' c='' a=''/></books>
Я хочу:
<books><book a='' b='' c=''/></books>
Как отсортировать атрибуты XML в SQL?Сортировка атрибутов XML в SQL
, например, для этого XML:
<books><book b='' c='' a=''/></books>
Я хочу:
<books><book a='' b='' c=''/></books>
От http://msdn.microsoft.com/en-us/library/ms187107%28v=sql.90%29.aspx:
Порядок XML атрибуты не сохраняются. Когда вы запрашиваете экземпляр XML , хранящийся в столбце типа xml, порядок атрибутов в , полученный XML может отличаться от исходного экземпляра XML.
Так что, даже если бы вы могли выяснить способ сортировки атрибутов, вы не можете доверять тому, что тип данных XML в SQL Server сохранит нужный вам порядок.
Отметьте мой комментарий, который находится под Q. – ARZ
Действительно, я хочу сравнить два поля XMl, которые имеют одинаковые атрибуты в разных порядках, и сравнение XML невозможно в SQL.so литье их в тип Varchar не возвращает истинный результат. Так что я считаю, что единственным решением является сортировка XML, а затем сравнить строки XML. – ARZ
Вы видели это? [XQuery Lab 25 - Написание функции TSQL для сравнения двух значений XML (часть 1)] (http://beyondrelational.com/modules/2/blogs/28/posts/10306/xquery-lab-25-writing-a- TSQL-функции к-сравнить два-XML-значения частей-1.aspx). –