У меня есть столбец hierarchyid` в определенном на столе в SQL Server 2008Сортировать по hierarchyid` в в SQL Server
Будет говорить, что в первом ряду, `hierarchyid` является«/ 1/7/1 /»
Скажем, что во втором ряду иерархия равна '/ 1/10/1 /'
Если I sort by hierarchyid ASC
, то я увижу вторую строку, а затем первую строку. (Сортировка будет сортироваться по String и '10' < '7')
Однако у меня есть (по соображениям совместимости с другой системой) желание сначала увидеть первую строку, а затем вторую строку (т.е. sort by int и 7 < 10)
Я решил проблему, указав второй столбец иерархии, а затем установив ее таким же, как и первый столбец иерархии, но заменив все внутренние косые черты точками, а затем делая вид.
Мне просто интересно, был ли более элегантный способ.
Вы уверены, что используете [hierarchyid] (http://technet.microsoft.com/en-us/library/bb677290.aspx) ?. Швы работают должным образом. Посмотрите [здесь] (http://sqlfiddle.com/#!3/d7cfe/2). –
Вы правы (отличная ссылка, между прочим). Мне нужно будет проверить, что я сделал неправильно ... (Я использую hierarchyID, но, возможно, есть и другие факторы) – gordon613