如何按创建日期和更新日期对数据进行排序

col17t5w  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(310)

我有创建日期、更新日期和更新日期的数据可以为空。我正在尝试按创建日期和更新日期对数据进行排序如果数据得到更新,它将使用更新日期如果数据没有更新日期,但创建日期>其他数据更新日期它将首先出现

这是我使用“order by”的结果 books . display_updated 描述, books . display_created “描述”
更新日期为空的数据在下面。你能给我提个建议吗?

byqmnocz

byqmnocz1#

可以使用coalesce()

ORDER BY COALESECE(updated_date, created_date)

我更喜欢这个功能 ifnull() 因为coalesce是ansi标准,但是您可以使用

ORDER BY IFNULL(updated_date, created_date)

任何一种方法都可以测试 updated_date 为null,如果为则返回 created_date 否则返回“updated\u date”。以上两者都等同于此 case expression ,这是另一种选择:

order by case when updated_date IS NOT NULL then updated_date else created_date end

相关问题