Android 数据库TEXT字段排序

335 阅读1分钟

显示异常的SQL排序用法

 SELECT userNumber  FROM USER  ORDER BY  userNumber

运行后结果

0501
0502
0503
0504
0505
0506
05061
05062
05063
05064
05065
0507
0508
05081
0509
0510
0511
0512
0513
0514
0515
0516

会发现很怪异,为什么5位数的值在4位数的值的上面

显示异常原因

原因其实很简单SQL在对TEXT进行排序的时候,是进行的逐个字符比较,想要要他显示正常一点我们可以使用length()函数

使用length()

SELECT userNumber FROM USER  ORDER BY length(userNumber),  userNumber

运行结果

0501
0502
0503
0504
0505
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
0516
05061
05062
05063
05064
05065
05081