您好我想按升序排序字母数字数据。
这样的数据: 1mac,apple,dom,007bind,pcworld,8basic,没什么。
但在这里我想要的结果如下: apple,dom,nothing,pcworld,007bind,1mac,8basic
任何人都可以告诉我sql查询来显示这样的结果。 任何帮助将不胜感激。 在此先感谢..
答案 0 :(得分:1)
您必须检查数据库供应商是否支持此类排序规则并相应地设置排序规则。
http://www.collation-charts.org
E.g。 oracle有http://www.collation-charts.org/oracle10g/ora10g.CL8MSWIN1251.GENERIC_BASELETTER.html
答案 1 :(得分:1)
SELECT your_field FROM your_table ORDER BY (your_field + 0 <> 0 OR your_field = '0') ASC, your_field + 0, your_field
答案 2 :(得分:1)
这是一种方法:
select col from sometable where left(col, 1) < '0' or left(col, 1) > '9' order by col
union all
select col from sometable where left(col, 1) >= '0' and left(col, 1) <= '9' order by col