Mysql Order By 字符串排序,1 10 2 20,以字符串排序,不是使用数字排序
一、问题描述:
Mysql排序时如果用的的字段为字符串型的,排序规则是这样的:如1,10,2,20,3,4,5,这种排序是按照字符从第一个字符开始比较出来的,但不是我想要的,我想要的是:1,2,3,4,5……,10,20这种。
二、解决方案
排序时,把相应的字段转换成整型,使用CAST函数,如下:
CAST(seat_row AS UNSIGNED)
完整例子:
SELECT * FROM ts_seat WHERE hall_id =840 ORDER BY CAST(seat_row AS UNSIGNED) ,CAST(seat_col AS UNSIGNED);
转自https://blog.csdn.net/w995223851/article/details/88350024
术到极致,几近于道。
有道无术,可以求术;
有术无道,止于术矣。