gpt4 book ai didi

mysql - Sql 查询,未使用 CURDATE() 函数检索正确的值

转载 作者:行者123 更新时间:2023-11-29 18:02:58 24 4
gpt4 key购买 nike

我需要从数据库中检索“dateOfTermination”值等于今天日期的记录。我使用了以下查询,但它不会显示任何结果。

select * from user 
where CRM_Status='pending' and dateOfTermination = DATE_ADD(CURDATE(), INTERVAL 1 DAY)

仅当查询如下时才有效。

select * from user 
where CRM_Status='pending' and dateOfTermination < DATE_ADD(CURDATE(), INTERVAL 1 DAY)

是因为日期格式的问题吗?

最佳答案

我的猜测是 dateOfTermination 有一个时间部分。试试这个:

select u.*
from user u
where u.CRM_Status = 'pending' and
u.dateOfTermination >= CURDATE() AND
u.dateOfTermination < DATE_ADD(CURDATE(), INTERVAL 1 DAY);

您也可以将其表达为:

select u.*
from user u
where u.CRM_Status = 'pending' and
DATE(u.dateOfTermination) = DATE_ADD(CURDATE(), INTERVAL 1 DAY);

实际上,语义略有不同——但尚不清楚您真正的意图是什么。第一个版本“更好”,因为它可以更好地利用索引来提高性能。

关于mysql - Sql 查询,未使用 CURDATE() 函数检索正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163780/

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