84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
字段为字符型,数据格式为 字符+数字例如dslr831dslr832dslr833
用什么方法才能按照数值型排序,试过CAST, 以及ABS都不能够完美实现
欢迎选择我的课程,让我们一起见证您的进步~~
如果字符类型长度,前缀都是一样的,
dslr831 dslr832 dslr833
前缀dslr,真实数字长度3位,那么按照字符排序应该就可以了。
dslr
否则的话,如果数据量不大的话,取出来在内存中排序就行,不然的话建议用自定义函数先将字段切出来,或许放在视图中,然后再对视图排序。
按照另外一个答案的提示:
SELECT CONVERT(SUBSTRING(dslr, 5), INTEGER) AS dslr from table order by dslr;
参考:http://stackoverflow.com/questions/5960620/convert-text-into-number-in...
实在解决不了还是建议在PHP端(获取他语言)中处理
SELECT SUBSTRING(dslr, 5) AS dslr from table order by --dslr;
table 是表名5 你自己斟酌着改dslr 是字段名
如果字符类型长度,前缀都是一样的,
前缀
dslr
,真实数字长度3位,那么按照字符排序应该就可以了。否则的话,如果数据量不大的话,取出来在内存中排序就行,不然的话建议用自定义函数
先将字段切出来,或许放在视图中,然后再对视图排序。
按照另外一个答案的提示:
参考:
http://stackoverflow.com/questions/5960620/convert-text-into-number-in...
实在解决不了还是建议在PHP端(获取他语言)中处理
SELECT SUBSTRING(dslr, 5) AS dslr from table order by --dslr;
table 是表名
5 你自己斟酌着改
dslr 是字段名