2011-03-04 155 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