正常字符串的排序,即使是纯数字,也是按照编码格式顺序排

例:

1,2,3,4,5,10,11,12

排序:

1,10,11,12,2,3,4,5

这在实际应用中不一定符合业务需求,需要把字符串转成数字再排序。

如把楼栋号'1'转成数字1

方法一:ORDER BY  build_no+0;

方法二:ORDER BY CAST(build_no AS SIGNED);

方法三:ORDER BY CONVERT(build_no, SIGNED);

 

同时也可以将字符串转为数字进行比较

例:

SELECT '123'+0; //结果为123

SELECT '123'+0>128; //结果为0

SELECT '123'+0>11; //结果为1

Logo

更多推荐