Android数据库SQLite(一)排序问题:字符串类型的数值排序

在android中,数据库操作使用的是SQLite,字段为varchar属性时,排序就会按照字符串的规则就行排序。有11和2,那么11 会排到2前面,不能达到按照数值的顺序排序。


对这组数据按照number进行排序,正常写

SELECT * FROM Student order by number

执行后显示如下,并没有按照1,2,11,21进行排序。

达到正常的排序,需要将number进行格式化

SELECT * FROM Student order by cast(number as '9999')

运行后显示如下


达到了预期的效果。

还有一种方法,字段属性改为int。

你可能感兴趣的:(Android数据库SQLite(一)排序问题:字符串类型的数值排序)