在Oracle语法中,会遇到 nulls last ,表示在排序的过程中,将空值放在最后,这种特殊写法MySQL没有,怎么转换呢?
Oracle 的 nulls last 一般和desc在一起 ,比如:
... order by name desc nulls last;
因为Oracle在进行排序的时候,若 使用desc关键字,null值会在排序的最前面(asc关键字相反),但是MySQL在进行排序的时候,使用desc关键字,null值会排在最后(不信可以试试,我也是试出来的),所以,转MySQL遇到desc nulls last 时,直接把 nulls last 删除就行。
上面的示例转换如下:
... order by name desc;
如果你遇到的nulls last 不是和 desc在一起(我还没遇到过),可以用if()函数做转换,我看到其他博主有写的比较详细,去搜搜看。