2011-03-04 154 views
3

我想用Sqlite对VarChar字段进行排序。用sqlite对数字(和数字+字母)排序

该字段可以包含数字或数字+字母,但我需要按数字顺序进行排序,像这样:

 
1 
1a 
1b 
5 
5x 
5y 
10 
10d 
10e 
10g1 
11 
11a 
11b 
100c 
100f 

任何想法?我已经能够做到这一点...它是靠近(但不完全)我需要什么:

垫场与“00000”开始,然后排序一号五个字母

回答

11

select col from tbl order by col*1, col 
+0

不错!但它只适用于开头的数字:您仍然会按照错误的顺序排列“10g9”和“10g10”。 – dan04 2011-03-04 04:54:59

+2

@dan true,但它适用于上述所有数据,绝对适用于“数字+字母”格式(数字_then_字母) – RichardTheKiwi 2011-03-04 05:35:01

+0

如果您有字母+数字,情况如何?例如A1,A2,A10等? – Michael 2016-10-03 01:40:31