这是我的表:
projects(p_id,p_name,p_deadline)
p_deadline
在MySQL中定义为DATE。
如何编写一个只返回p_deadline
日期比NOW()
更新的项目的查询?我不想显示超过截止日期的项目。
答案 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();