SQL中对于想要将字段中的包含null的字段排序置为最后的操作小tip
[[
]()]()
对于这种情况,网上的答案是:
SQL里ORDER BY 对查询的字段进行排序,字段为空不想排在最前
在安字段排序时 空字段往往都是在最前,我只是想空字段在排序的后面,不为空的在前,这个如何修改呢
order by datatime desc 这样的句子也一样 不管是正排还是倒排 为空的都在最前!
select * from xxx order by datatime desc nulls last 很可惜 并不适用
所以本人有了自己的实践见解,如有不对欢迎指出,谢谢
通过程序控制
mcontractList.sort(Comparator.comparing(Mcontract::getProjectArea).reversed());
主要作用就是将集合引入外部比较器进行比较,默认是升序的呢么NULL值会默认排到最前,这时候使用提供的反转方法就可以变成降序,从而达到想要的效果

秋无痕,墨色风

浙公网安备 33010602011771号