我们有一个日期示例:2016-05-10,我正在尝试使用该日期从数据库中获取查询。
我们有 2 个表:publish_at 和 end_at
SELECT * FROM `news` WHERE end_at <= '2016-05-11' AND publish_at >= '2016-05-10'
这会返回不正确的数据,因为它没有显示具有 publish_at :2016-05-10 和 end_at 2016-05-12 的事件
SELECT * FROM news WHERE '2016-05-11' BETWEEN publish_at AND end_at
这会返回正确的项目,但如果日期为 10 或 12 则不会返回,只有在两者之间
最佳答案
第一个查询返回正确的数据,因为查询请求在 2016/05/10 或之后发布并在 2016/05/11 或之前结束的所有事件。
将查询更改为
Select * from news where end_at between '2016-05-10' and '2016-05-11' or publish_at betweeb '2016-05-10' and '2016-05-12'
关于php - 在日期之间搜索 YII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244501/