1
我有一個mySQL數據庫,我需要檢查表中最近的一天,並在一天過去後調用過程。所以,我想這個代碼: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;
(在我目前的測試情況下,時間表是空的。)
但程序不會被調用,所以我試圖改變的條件:mDay = NULL OR mDay != NULL
,它仍然沒不會打電話。然後我試着mDay = DATE(CURRENT_TIMESTAMP) OR mDay != DATE(CURRENT_TIMESTAMP)
,但它仍然沒有被調用。
最後我把它改成了簡單的true
然後它調用了這個過程。
這裏怎麼回事?
對'= NULL'的測試應該是'IS NULL'嗎?正如在這個問題中看到的,[如何檢查變量是否爲NULL,然後將其設置爲MySQL存儲過程?](http://stackoverflow.com/questions/18499747/how-to-check-if-a-variable -is空 - 則 - 設置它與-A-MySQL的存儲過程)。我是[Postgres](http://www.postgresql.org/),不是MySQL的人,所以我不知道。 –