2015-04-10 3 views

ответ

2

Конечно, это возможно. Но ваши примеры совершенно разные. В первом случае, значения упорядочены следующим образом:

1 
11 
2 
3 
4 
5 

Во втором, как это:

1 
2 
3 
4 
5 
11 

Таким образом, результаты различны. Числа, хранящиеся в виде строк, рассматриваются как строки, а не числа.

EDIT:

Есть два способа "лечения в NVARCHAR()" в виде числа. Первый заключается в том, чтобы сделать преобразование, такое как:

dense_rank() over (order by cast(Number as decimal)) grp 

(или любой другой тип, который вы хотите).

Второй будет работать, если значения являются целыми числами и не имеют ведущих нулей:

dense_rank() over (order by len(Number), Number) grp 
+0

Но можно заказать их численно на колонке NVARCHAR? – crimson

+0

Спасибо, я поставил конвертировать/отличить не туда. Смогут принять ответ – crimson

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