解决云梦数据库中时间字段为 NULL 时靠前排的问题

 

  解决云梦数据库中时间字段为 NULL 时靠前排的问题

 

  当前云梦数据库中有字段的值为 NULL,比如创建时间(create_time)那么我们按创建时间倒序排列是,create_time = NULL 会排在有时间值的前面,通常我们希望将有具体时间值的排在前面,那么可以通过如下方式实现。

  

ORDER BY create_time DESC, CASE WHEN modify_time IS NULL THEN 1 ELSE 0 END, modify_time DESC

 

说明:先按有具体时间值的创建时间(create_time)倒序排列,再按有具体时间值修改时间(modify_time)倒序排列,最后创建时间和修改时间为 NULL 的排列。

 

比如在使用 MyBatis Plus 时如下写:

queryWrapper.last(" ORDER BY create_time DESC, CASE WHEN modify_time IS NULL THEN 1 ELSE 0 END, modify_time DESC ");
posted @ 2025-03-25 18:46  hapday  阅读(12)  评论(0)    收藏  举报