在两个日期范围内获得结果

时间:2014-07-23 10:53:34

标签: mysql

MySQL表有3行。

表格

| ID | StartDate  | EndDate      |
|:--:|:----------:|:------------:|
| 1  | 2014-07-01 | 2014-07-31   |
| 2  | 2014-07-15 | 2014-08-15   |
| 3  | 2014-08-01 | 2014-08-31   |

视觉示例:

| 07-01 07-31 | 08-01 08-31 |
|:-----------:|:-----------:|
| <result 1>  |             |
|         <result 2>        |
|             | <result 3>  |

我提供两个日期,开始日期结束日期

问题:

开始日期设置为2014-07-01结束日期设置为2014-07-31后,我需要result 1和{{1} }。

这样做的最佳方式是什么?


修改

最后这样做:

result 2

感谢SELECT id, StartDate, EndDate FROM table WHERE ( (StartDate BETWEEN DATE('2014-07-01') AND DATE('2014-07-31')) OR (EndDate BETWEEN DATE('2014-07-01') AND DATE('2014-07-31')) ); Yograj Sudewad。你们真棒!

4 个答案:

答案 0 :(得分:2)

试试这个query

SELECT * FROM table 
WHERE StartDate BETWEEN DATE('2014-07-01') AND DATE('2014-07-31');

答案 1 :(得分:1)

SELECT * FROM table WHERE StartDate >= '$dateFrom' AND StartDate <= '$dateTo';

答案 2 :(得分:1)

试试这个

select * from table_name where startdate between "2014-07-01" AND "2014-07-31"

答案 3 :(得分:0)

select * from table_name where startdate ='$datefrom' and enddate='$dateto'

试试这个。