mysql order by null last_order by 语句出现null的情况

【Oracle 结论】

order by colum asc 时,null默认被放在最后

order by colum desc 时,null默认被放在最前

nulls first 时,强制null放在最前,不为null的按声明顺序[asc|desc]进行排序

nulls last 时,强制null放在最后,不为null的按声明顺序[asc|desc]进行排序

【MySql 结论】

order by colum asc 时,null默认被放在最前

order by colum desc 时,null默认被放在最后

ORDER BY IF(ISNULL(update_date),0,1) null被强制放在最前,不为null的按声明顺序[asc|desc]进行排序

ORDER BY IF(ISNULL(update_date),1,0) null被强制放在最后,不为null的按声明顺序[asc|desc]进行排序

针对【oracle】我们就需要使用以下语法:

order by order_col [asc|desc] nulls [first|last]

针对【mysql】我们则需要使用以下语法:

select * from table_name order by IF(ISNULL(字段名),0,1),字段名;