使用sqlite对数字(和数字+字母)进行排序

时间:2011-03-04 04:03:21

标签: sql sqlite sorting sql-order-by

我正在尝试使用Sqlite对VarChar字段进行排序。

该字段可以包含数字或数字+字母,但我需要按数字顺序排序,如下所示:

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

有什么想法吗?我已经能够做到这一点......它很接近(但并不完全)我需要的东西:

  

用'00000'填充字段的开头,然后对前五个字母进行排序

2 个答案:

答案 0 :(得分:10)

select col from tbl order by col*1, col

答案 1 :(得分:1)

内置函数没有简单的方法。使用sqlite3_create_collation(或首选编程语言中的等效包装器)来定义实现natural sort的字符串比较函数。