从mysql返回数据的日期比现在晚了

时间:2012-02-17 11:39:29

标签: mysql date

这是我的表:

projects(p_id,p_name,p_deadline)

p_deadline在MySQL中定义为DATE。

如何编写一个只返回p_deadline日期比NOW()更新的项目的查询?我不想显示超过截止日期的项目。

3 个答案:

答案 0 :(得分:3)

SELECT
  ... whatever ...
FROM
  ... whatever ...
WHERE
  ... whatever ...
  AND projects.p_deadline>NOW();

答案 1 :(得分:2)

SELECT * FROM projects WHERE p_dealine > NOW()

答案 2 :(得分:0)

(只是澄清一点......)

  

但是,如何从等于NOW()的日期获取数据;?我试过> =   但它似乎没有用,我猜是因为NOW();甚至返回   时间

正确。 DATE值的时间为午夜。由于now()返回日期时间,因此两个值很少匹配。只在午夜。所以实际的比较转换成这样的东西:

/* notice the dates match, but the current time is later */
WHERE '2012-02-17 00:00:00' >= '2012-02-17 13:35:48'

相反,您应该使用curDate()。它返回一个日期(仅)。

WHERE p_deadline >= CURDATE();