英数字トークンのリストがあり'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'
UPDATE2
以下の変更を行った後に動作します。
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
素敵なアイデアをありがとうございました。