Mysql 按顺序测试NULL

Mysql 按顺序测试NULL,mysql,sql,Mysql,Sql,在数据库中;共有3列,Name,CreatedDate和updateDate。 我想使存储过程以获取所有行的顺序,即上次更新或创建日期 这是我的示例代码 SELECT * FROM tbl_name ORDER BY CASE WHEN UpdatedDate != null THEN UpdatedDate ELSE CreatedDate END desc 但是得到了错误的结果。有什么想法吗?与null相比,您需要is运算符 SELECT * FROM tbl_name ORDER BY

在数据库中;共有3列,
Name
CreatedDate
updateDate
。 我想使存储过程以获取所有行的顺序,即上次更新或创建日期

这是我的示例代码

SELECT * FROM tbl_name
ORDER BY CASE WHEN UpdatedDate != null THEN UpdatedDate ELSE CreatedDate END desc

但是得到了错误的结果。有什么想法吗?

null
相比,您需要
is
运算符

SELECT * FROM tbl_name
ORDER BY CASE WHEN UpdatedDate is not null 
              THEN UpdatedDate 
              ELSE CreatedDate 
         END desc
或者在你的情况下,你可以使用

SELECT * 
FROM tbl_name 
ORDER BY coalesce(UpdatedDate, CreatedDate) desc

null
比较时,需要
is
运算符

SELECT * FROM tbl_name
ORDER BY CASE WHEN UpdatedDate is not null 
              THEN UpdatedDate 
              ELSE CreatedDate 
         END desc
或者在你的情况下,你可以使用

SELECT * 
FROM tbl_name 
ORDER BY coalesce(UpdatedDate, CreatedDate) desc

谢谢为什么我不这么想!非常感谢;为什么我不这么想!非常感谢。