gpt4 book ai didi

mysql - 使用 MySQL CURDATE() 和 CURTIME() 返回即将到来但未通过的结果

转载 作者:行者123 更新时间:2023-11-29 09:12:04 25 4
gpt4 key购买 nike

我网站的用户将能够创建事件。他们将分别设定日期和时间。该事件将保存到包含单独日期和时间列的 mysql 数据库中。

我想查询数据库以返回即将发生但未通过的事件。即事件日期是今天或将来,如果事件日期是今天,请检查事件时间尚未过去。

我不知道它的语法,而且我似乎无法在任何地方找到它。

如果有人知道执行此操作的好方法,我将非常感谢您的帮助。

最佳答案

在 SQL 中有效表达这一点并利用日期和/或时间列上的任何索引的最简单方法是这样的查询:

SELECT * 
FROM your_table
WHERE date_column > current_date()
OR (date_column = current_date() AND time_column > current_time())

根据您使用的 MySQL 版本以及表的索引方式,优化器有可能更喜欢将查询表示为两个 SELECT 联合在一起以避免 OR:

SELECT * 
FROM your_table
WHERE date_column > current_date()
UNION
SELECT *
FROM your_table
WHERE date_column = current_date()
AND time_column > current_time()

关于mysql - 使用 MySQL CURDATE() 和 CURTIME() 返回即将到来但未通过的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304273/

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