2011-04-07 53 views
0

我有這樣的MySQL查詢,但它重新調整爲零時,有與此格式「2011-04-07 19時15分11秒」當前日期行mysql的日期函數

$query_stat_today = 
    "SELECT C.id 
    , C.j_user_id 
    , L.j_logged_date 
    , COUNT(L.site_id) as total 
    FROM 
    jt_site C 
    , jt_access_log L 
    WHERE 
    C.id = L.site_id 
    AND C.j_user_id = ".check_db_query_id($user_id)." 
    AND DATE(L.j_logged_date) = **CURDATE()**"; 

這個返回零

+1

爲什麼'curdate()'周圍的星號?那會產生這樣的錯誤。 – sreimer 2011-04-07 20:52:24

+0

也許他試圖讓它變成** bold **,但這隻適用於非代碼文本。 – Johan 2011-04-07 22:56:22

回答

0

這很有道理,因爲您不是針對同一天的商品進行匹配,而是在同一時間對商品進行匹配。
如果你改變

AND DATE(L.j_logged_date) = CURDATE() 

AND DATE(L.j_logged_date) 
    BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY) 

這樣,如果記錄的日期是隨時在這一天它將匹配。

0

CURDATE()不會以該格式返回日期。它僅返回日期值,即'2008-06-13'。此外,您正在使用DATE()函數從L.j_logged_date中提取日期值。你不應該有任何問題。你的問題在別的地方。