我有一个表“MyTable”,其后面的列 ID 为 varchar(50)。
ID
----------
10
100
700-6 0110B512
700-6 0110B513
700-8 0110B512
700-9 0110B512
我需要用输出对该列进行排序
ID
----------
10
100
700-6 0110B512
700-8 0110B512
700-9 0110B512
700-6 0110B513
请帮忙!!
我已经尝试过这样,但输出不如预期。
SELECT * FROM MyTable
ORDER BY
Case
When IsNumeric(ID) = 1 then LEFT(Replicate('0',101) + ID, 100)
When IsNumeric(ID) = 0 then RIGHT(Replicate('0',101) + ID, 100)
Else ID
END
ASC