gpt4 book ai didi

SQL:如果字段不为空,我如何按字段排序,否则使用另一个字段

转载 作者:IT王子 更新时间:2023-10-29 00:31:21 27 4
gpt4 key购买 nike

我想按 dtModified(修改日期时间)对我的 Posts 进行排序,如果它不为空(修改后的 b4),否则按 dtPosted 排序(发布日期时间)

最佳答案

您可以使用 COALESCE :

ORDER BY COALESCE(dtModified, dtPosted)

另一种选择是使用 MySQL 特定函数 IFNULL而不是 COALESCE


在 MySQL 上测试:

CREATE TABLE table1 (dtModified DATETIME NULL, dtPosted DATETIME NOT NULL);
INSERT INTO table1 (dtModified, dtPosted) VALUES
('2010-07-31 10:00:00', '2010-07-30 10:00:00'),
(NULL , '2010-07-31 09:00:00'),
('2010-07-31 08:00:00', '2010-07-30 10:00:00');

SELECT dtModified, dtPosted
FROM table1
ORDER BY COALESCE(dtModified, dtPosted)

结果:

dtModified           dtPosted
2010-07-31 08:00:00 2010-07-30 10:00:00
NULL 2010-07-31 09:00:00
2010-07-31 10:00:00 2010-07-30 10:00:00

关于SQL:如果字段不为空,我如何按字段排序,否则使用另一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3377854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com