我在 mysql 中将查询编写为
select * from tblstafftasks as tst join tblstafftaskassignees as tsta on tsta.taskid = tst.id join tblstaff as ts on ts.staffid = tsta.staffid where tst.startdate like '2016-07-21' or '2016-07-21' between tst.startdate and tst.duedate and tst.rel_id = 1
我的数据库如下所示:
当我编写上面的查询时,它运行完美,但没有给出任何结果。
这里我使用了与开始日期匹配的2016-07-21,因此它没有给出任何结果。那么,如果与开始日期匹配,我应该编写什么查询才能获得结果。?
在这里,我以简单的 Y-m-d 格式传递日期,并在数据库中将其存储为日期时间,以便帮助我解决此查询。
最佳答案
您似乎想要将日期与 DATETIME
数据类型进行比较。如果您只想与 DATETIME
字段的日期进行比较,请执行以下操作:
SELECT * FROM tblstafftasks AS tst
JOIN tblstafftaskassignees AS tsta ON tsta.taskid = tst.id
JOIN tblstaff AS ts ON ts.staffid = tsta.staffid
WHERE DATE(tst.startdate) <= '2016-07-21'
AND DATE(tst.duedate) >= '2016-07-21'
关于php - 匹配mysql中的日期并给出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661390/