如何使用MYSQL从表中的日期之间进入

时间:2011-02-04 05:29:28

标签: mysql

我是一个包含三个字段的表:id,startDate和endDate。

现在我需要准确地在startDate和endDate之间获取记录。

例如,让我们假设我的表格包含以下记录:

id startDate  endDate

1  2011-02-05 2011-02-10

2  2011-02-01 2011-02-06

3  2011-02-06 2011-02-08

例如startDate是2011-02-05,结束日期是2011-02-10,输出应该是以下

id startDate  endDate

1  2011-02-05 2011-02-10

3  2011-02-06 2011-02-08

但根据我的查询第二条记录也出现在输出中。实际上它不应该......

我的查询是:

SELECT * FROM tblname WHERE startDate AND expiryDate BETWEEN'2011-02-05'EN'2011-02-10'

如何解决此问题?

提前致谢..

1 个答案:

答案 0 :(得分:3)

您无法将两列与这样的范围进行比较。 AND和OR运算符连接布尔表达式。您的查询被解释为“WHERE startDate是布尔值true,expiryDate是在这些日期之间”。

SELECT 
  * 
FROM 
  tblname 
WHERE 
  startDate BETWEEN '2011-02-05' AND '2011-02-10' 
AND 
  expiryDate BETWEEN '2011-02-05' AND '2011-02-10'