у меня есть список буквенно-цифровых токенов, скажем, '1a', '1b', '02', '03', '10', '11',
и т.д...
Итак, как лучше всего сделать заказ по этому списку токенов?
Я получаю '1a', '1b', '10', '11', '02', '03',
но мне нужно, чтобы это было
'1a', '1b', '02', '03', '10', '11'
ОБНОВЛЕНИЕ
хорошо, я делаю это после предложения, но это не работает.
declare @tokens table(token varchar(20));
insert into @tokens
select '1a'
select '1b'
select '02'
select '10'
select * from @tokens
order by case
when ISNUMERIC(token) = 1 then right('0000000000'+token+'0',10)
else right('0000000000'+token,10)
end
Я получаю ответ как '1b', '02', '10', '1a'
ОБНОВЛЕНИЕ 2
Это работает после внесения следующего изменения.
declare @tokens table(token varchar(20));
insert into @tokens
select '1a'
insert into @tokens
select '1b'
insert into @tokens
select '02'
insert into @tokens
select '10'
select token from @tokens
order by case
when ISNUMERIC(token) = 1 then right('0000000000'+token+'0',10)
else right('0000000000'+token,10)
end
Спасибо всем вам за ваши хорошие идеи.