在php中按日期条件过滤特定行的mysql查询?

时间:2012-07-27 12:49:40

标签: php mysql sql phpmyadmin

我有一个表' 会议 ',其中包含以下字段

id   recurring_start_date  recurring_end_date (Both are date fields)
1.    2012-07-22             2012-07-25
2.    2012-07-27             2012-08-05
3.    2012-07-26             2012-08-26
4.    2012-07-23             2012-10-23
5.    2012-08-24             2012-11-24
6.    2012-09-12             2012-10-19
7.    2012-07-28             2012-07-29

我想通过sql查询过滤这些行,其中包含开始结束日期范围之间的“ 2012-07-28 ”日期,并包括开始n结束重复日期。

我们知道结果将是第2行,第3行,第4行,第7行 但是如何在php中运行此查询。

我尝试了这个,但它不起作用。

$sql = "
    SELECT * 
    FROM 
        `meetingss` 
    WHERE 
        `recurring_st_date` >= \'2012-07-28\' 
        AND `recurring_ed_date` <= \'2012-07-28\' 
    ";

可能出错了,可能提供日期条件错误。
任何好建议我的伙伴这样做。感谢...

2 个答案:

答案 0 :(得分:5)

$sql = "SELECT * FROM `meetings` 
        WHERE date('2012-07-28') 
              between `recurring_st_date` AND `recurring_ed_date`";

答案 1 :(得分:2)

`recurring_st_date` >= STR_TO_DATE('2012-07-28', '%Y-%m-%d') AND 
`recurring_ed_date` <= STR_TO_DATE('2012-07-28', '%Y-%m-%d')