Php 检查mysql中两个日期列之间是否存在给定日期

Php 检查mysql中两个日期列之间是否存在给定日期,php,mysql,Php,Mysql,“我的数据库”表中包含4个字段,如: id Start_date End_date Package -- --------- ---------- -------- 1 2013-10-25 2014-04-30 pack 1 2 2014-01-02 2014-04-30 Pack 2 3 2014-05-01 2015-06-30 pack 3 4 2015-07-01

“我的数据库”表中包含4个字段,如:

 id  Start_date     End_date     Package
 --  ---------      ----------   --------
 1   2013-10-25     2014-04-30    pack 1
 2   2014-01-02     2014-04-30    Pack 2
 3   2014-05-01     2015-06-30    pack 3
 4   2015-07-01                   pack 4
我想使用日期(start=2014-01-01和end=2014-08-13)检查该日期是否在表中的任何日期(start\u date、end\u date)之间。对于这种情况,我想得到包1,包2和包3。我如何才能做到这一点?

从表中选择*,其中“2014-01-01”=结束日期
SELECT * FROM table WHERE '2014-01-01' <= Start_date AND '2014-08-13' >= End_date
使用mysql的关键字

SELECT * FROM table WHERE ( start_date BETWEEN date_from and date_to ) OR ( end_date BETWEEN date_from and date_to) 

你确定需要取第一包吗?不。但只要稍加调整就可以解决。谢谢。。它起作用了。。需要零钱。。ie从表中选择*,其中((开始日期介于日期和日期之间)或(结束日期介于日期和日期之间))@siva您的括号对该解决方案没有任何影响,如果开始日期在事件结束之前,结束日期在事件开始之后,该怎么办?但在我的例子中,我给出了另外两个条件。。这么说,兄弟