mySQL日期比较总是错误的?

时间:2015-07-03 19:42:36

标签: mysql datetime stored-procedures date-comparison

我有一个mySQL数据库,我需要检查表中的最近一天,如果一天过去就调用一个过程。所以我尝试了这段代码:

DECLARE mDay DATE;

SELECT `date`  INTO mDay
FROM TimeTable ORDER BY `date` DESC
LIMIT 1;

IF(mDay = NULL OR mDay != DATE(CURRENT_TIMESTAMP)) THEN
    CALL UpdateTimeTable()
END IF;

(在我当前的测试用例中,TimeTable为空。)

但是程序永远不会被调用,所以我尝试将条件更改为:mDay = NULL OR mDay != NULL,但它仍然没有被调用。然后我尝试mDay = DATE(CURRENT_TIMESTAMP) OR mDay != DATE(CURRENT_TIMESTAMP)但它仍然没有被调用。

最后我将其更改为true,然后调用该过程。

这里出了什么问题?

1 个答案:

答案 0 :(得分:1)

这是因为mySQL使用IS NULLIS NOT NULL来比较NULL,并且=使用其他所有内容。