我有创建日期、更新日期和更新日期的数据可以为空。我正在尝试按创建日期和更新日期对数据进行排序如果数据得到更新,它将使用更新日期如果数据没有更新日期,但创建日期>其他数据更新日期它将首先出现这是我使用“order by”的结果 books . display_updated 描述, books . display_created “描述”更新日期为空的数据在下面。你能给我提个建议吗?
books
display_updated
display_created
byqmnocz1#
可以使用coalesce()
ORDER BY COALESECE(updated_date, created_date)
我更喜欢这个功能 ifnull() 因为coalesce是ansi标准,但是您可以使用
ifnull()
ORDER BY IFNULL(updated_date, created_date)
任何一种方法都可以测试 updated_date 为null,如果为则返回 created_date 否则返回“updated\u date”。以上两者都等同于此 case expression ,这是另一种选择:
updated_date
created_date
case expression
order by case when updated_date IS NOT NULL then updated_date else created_date end
1条答案
按热度按时间byqmnocz1#
可以使用coalesce()
我更喜欢这个功能
ifnull()
因为coalesce是ansi标准,但是您可以使用任何一种方法都可以测试
updated_date
为null,如果为则返回created_date
否则返回“updated\u date”。以上两者都等同于此case expression
,这是另一种选择: