在数据库中;共有3列,Name
,CreatedDate
和UpdatedDate
。
我想创建存储过程以获取所有行命令上次更新或创建日期。
这是我的示例代码。
SELECT * FROM tbl_name
ORDER BY CASE WHEN UpdatedDate != null THEN UpdatedDate ELSE CreatedDate END desc
但收到了错误的结果。有什么想法吗?
答案 0 :(得分:6)
与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