[英]Search Between dates YII
我们有一个日期示例: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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.