比较不同领域的日期和时间

时间:2013-10-06 19:18:19

标签: php mysql sql

现在,我遇到以下问题的问题:

SELECT * 
FROM table 
WHERE date > CURDATE() 
    OR date = CURDATE() 
    AND time > CURTIME()

返回行的日期>今天,但我还需要今天的日期行,但时间>当前时间。

2 个答案:

答案 0 :(得分:1)

您需要将相关子句放在括号内:

SELECT * 
FROM table 
WHERE date > CURDATE() 
    OR (
      date = CURDATE() 
      AND time > CURTIME()
    )

答案 1 :(得分:0)

您应该使用适当的日期/时间函数,而不是使用复杂的WHERE子句使您自己复杂化:

SELECT * FROM TABLE
WHERE ADDTIME(date, time) > NOW()

有关此link中的ADDTIME功能的详细信息。