Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL中order by排序遇到NULL值

MySQL中order by排序遇到NULL值的问题及解决

作者:文&文丑

文章讲述了使用ISNULL()函数在MySQL中处理NULL值时遇到的问题,特别是在处理经纬度计算出的距离字段时,问题在于ISNULL()函数在排序时不能正确处理NULL值,解决方法是通过在字段前面加上负号来改变NULL值的排序顺序,从而实现正确的排序

MySQL中order by排序遇到NULL值

使用ISNULL(字段)不生效

具体原因不清楚!

具体字段是经纬度计算出来的距离,小数位比较多,

正常查询如下:

然后使用的 ISNULL(字段)

排序不成功的结果如下:

问题解决

默认情况不下,MySQL会认为NULL值比其它类型的数值小,利用MySQL中的一个小技巧,在字段前面加上一个负号,也就是减号,ASC改为DESC ,DESC改为ASC

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文