Mysql实现null值排在最前或最后 |
您所在的位置:网站首页 › rownum函数null值放排最后 › Mysql实现null值排在最前或最后 |
最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。 oracle方法: null值排在最前 select * from A order by a desc null firstnull值排在最后 select * from A order by a desc null last不过迁到Mysql的话,mysql并没有提供类似函数,所以要怎么实现?下面给出解决方法: null值排在最后,用Mysql的IF和ISNULL函数。如果为空返回1,否返回0 select * from A order by IF(ISNULL(a),1,0),a descnull值排在最前,用Mysql的IF和ISNULL函数。如果为空返回1,否返回0 select * from A order by IF(ISNULL(a),0,1),a desc如果mybatis里需要oracle和Mysql版本的,或者可以从后台传个数据表版本标识dbType,或者直接用mybatis的_databaseId方法。 order by c.create_date desc nulls last order by IF(ISNULL(c.create_date),1,0), c.create_date desc |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |