使用日期和时间对我来说一直是一个挑战,我已经对SE进行了大量关于mysql日期查询的研究,但没有找到任何具体的东西来帮助我解决我的问题.
我在应用程序上工作,需要显示所有未过期的匹配项,匹配项在日期已过,时间已过.
例:
即使今天的比赛日提供时间尚未过去,比赛仍然可以激活……我想你明白我的意思?
以上是硬件部分实现的简单部分.
我可以去:
SELECT * FROM匹配WHERE match_date> = CURDATE();
我的问题
>我如何修改上面包含时间函数的查询呢?
>你会说上面关于DATE的查询是我能用于实现目标的最佳/最有效的查询吗?
任何帮助/建议表示赞赏
解决方法:
我认为这样做你想要的:
SELECT *
FROM matches
WHERE match_date > CURDATE() OR
( match_date = CURDATE() and match_time > CURTIME() );
注意:您应该将日期和时间存储在单个字段中.然后你可以这样做:
SELECT m.*
FROM matches m
WHERE match_datetime >= Now();
更简单.并且更有可能使用索引.