gpt4 book ai didi

mysql - SQL使用今天的日期计算任务的状态

转载 作者:可可西里 更新时间:2023-11-01 08:52:00 25 4
gpt4 key购买 nike

我将如何编写一个使用今天的日期并计算任务状态的 SQL 语句。

我认为这应该返回:

1 = complete task (status = completed)
2 = pending task (in the future and not status=completed)
3 = overdue task (in the past and set to pending)

表 SQL:

CREATE TABLE IF NOT EXISTS `tasks` (
`task_id` int(10) NOT NULL AUTO_INCREMENT,
`task_date` date DEFAULT NULL,
`task_status` enum('pending','approved','complete','cancelled') NOT NULL
PRIMARY KEY (`task_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

最佳答案

如果这只是关于使用动态计算的 'overdue' 状态扩展预定义的状态集,那么只有一个条件的 CASE 表达式就足够了:

SELECT
...
CASE
WHEN task_status = 'pending' AND task_date > CURDATE()
THEN 'overdue'
ELSE task_status
END AS task_status,
...
FROM tasks
WHERE
...

关于mysql - SQL使用今天的日期计算任务的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518474/

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