【发布时间】:2020-01-30 10:15:56
【问题描述】:
所以,我有一组从我的数据库中加载的请假请求
SELECT ID, name, email, startDate, endDate, startTime, endTime, reason, specialLeave
FROM request
WHERE requestStatus = 'In behandeling'
我正在尝试过滤该查询。具体来说,我想将 startDate 和 startTime 与当前时间进行比较。我希望它在开始日期是今天或更晚并且尚未达到开始时间时可见。我尝试了多种方法,例如 concat、now()、curtime()、curdate()。
我已经用以下内容过滤 startDate 了:
SELECT ID, name, email, startDate, endDate, startTime, endTime, reason, specialLeave
FROM request
WHERE requestStatus = 'In behandeling' AND CURDATE() <= startDate
但我不知道如何从这里开始,有什么提示吗?
【问题讨论】:
-
我认为你需要使用
betwen例如startDate between (curdate()-1, curdate()+1) -
日期效果很好,我正在尝试将时间添加到等式中。
-
您是直接运行查询还是使用ORM?最好从 php 获取 currentDateTime
-
PHP 部分似乎无关紧要,因为它不会更改查询的内容。编辑以重新关注纯 SQL
-
无论如何,请您显示表格中的数据样本,以及过滤该数据时您希望查询的结果,以及 CREATE TABLE 语句,以便我们查看数据类型被用于每一列?谢谢。
标签: mysql sql date where-clause