2011-04-07 62 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中提取日期值。你不应该有任何问题。你的问题在别的地方。