我是SQL的新手,遇到了困难。
如果我有一列A1,A2,A3 ...... A1000
当我按此栏目订购时,它显示为A1,A100,A2 ......我得到了逻辑原因。
ATTEMPT:order by left(length(company.company_code),-1) ASC;
我试图上面试图切掉A但没有运气?
有什么建议吗?
答案 0 :(得分:5)
这是一个简单的方法:
order by length(company.company_code), company.company_code
首先按字符串的长度排序,然后按字符串的其余部分排序。
您也可以这样做:
order by cast(substr(company.company_code, 2, 10) as int)
这假定在一个字母之后不超过9位数。