SQL查询当前日期在开始/结束日期内的条目

时间:2011-01-12 17:34:47

标签: php sql mysql

使用MySQL

我需要比较当前日期的两个字段是:startDate,endDate

我需要这样的查询:

SELECT * FROM `{$this->_sPrefix}` 
WHERE `profileID` = '{$iProfileId}' 
AND CUR_DATE() 
BETWEEN `startDate` AND `endDate` 
ORDER BY `added` DESC";

这是我的新查询,但我不知道如何进行两项检查:profileID和日期一起。

3 个答案:

答案 0 :(得分:2)

你应该可以这样做,但你必须使用BETWEEN:

 WHERE CUR_DATE() BETWEEN `startDate` AND `endDate`

您使用的是什么SQL数据库?

编辑(回复编辑过的问题,请不要继续更改问题!):

您的查询看起来是正确的,假设profileID,startDate和endDate是同一个表中的所有列。

此外,如果这是一个面向Web的应用程序,请考虑避免这种动态SQL生成,因为它会使您的应用程序对SQL注入攻击开放。

答案 1 :(得分:1)

... WHERE CUR_DATE() BETWEEN `startDate` AND `endDate` ORDER ...

答案 2 :(得分:1)

...WHERE `startDate` <= CUR_DATE() and `endDate` >= CUR_DATE()