Вы можете привести к int ...
order by cast(column as int)
DEMO
DECLARE @q as table(
name varchar(50),
columnn varchar(10)
)
insert into @q
VALUES('one','1'),('one','10'),('one','20'),('one','3'),('one','2'),('one','20')
select * from @q order by cast (columnn as int) desc
отпечатков
-------------------------------------------------- ----------
one 20
one 20
one 10
one 3
one 2
one 1
Итак, Даниэль, да, это работает:)
UPDATE
order by cast(column as decimal(20,6))
Преобразует значения столбцов в десятичные числа с максимальными 20 цифрами и 6 знаками после запятой. Отрегулируйте его в соответствии с вашими требованиями.