繁体   English   中英

仅 select 记录开始和结束时间和日期之间

[英]Only select records between start and end time and date

我正在做一个学校项目,我必须制作一个 todo web 应用程序。 现在我有一个小问题。 我需要获取超时的记录(想想剩下的整个任务的 20%)。 现在我正在寻找 php 或 sql 语句中的解决方案,我只能检索这些记录。

我尝试了很多陈述,但我无法让一个工作。

SELECT * FROM tasks
                    WHERE user_id='$user_id'
                    AND '$currentDate' BETWEEN start_date AND end_date

以上是使用日期而不是时间。

所以现在我需要有一个语句或 function 只检索几乎完成的任务。 我添加了数据库和应用程序的屏幕截图以稍微澄清一下。

我希望有人能帮助我。 (这是我第一次使用stackoverflow,如果我做错了什么,很抱歉)

应用程序

数据库

首先,您不应该使用常量、日期或其他方式来修改您的查询。 所以,使用now()

其次,将日期/时间组合成一列

第三,您似乎想要and

WHERE user_id = ? AND
      NOW() >= start_datetime AND
      NOW() < end_datetime

如果要将日期/时间存储在单独的列中,则可以将它们组合起来:

WHERE user_id = ? AND
      NOW() >= ADDTIME(CAST(start_date as DATETIME), start_time) AND
      NOW() < ADDTIME(CAST(end_date as DATETIME), end_time)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM