对字母数字数据进行排序

时间:2011-11-16 08:38:04

标签: sql database

您好我想按升序排序字母数字数据。

这样的数据: 1mac,apple,dom,007bind,pcworld,8basic,没什么。

但在这里我想要的结果如下: apple,dom,nothing,pcworld,007bind,1mac,8basic

任何人都可以告诉我sql查询来显示这样的结果。 任何帮助将不胜感激。 在此先感谢..

3 个答案:

答案 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