Mysql Date FUnction - PullRequest
       6

Mysql Date FUnction

0 голосов
/ 08 апреля 2011

У меня есть этот запрос MySQL, но он возвращается к нулю, когда есть строки с текущей датой в этом формате '2011-04-07 19: 15: 11'

$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()**";

это возвращает ноль

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

CURDATE() не возвращает даты в этом формате.Возвращает только значение даты, то есть «2008-06-13».Кроме того, вы используете функцию DATE() для извлечения значения даты из L.j_logged_date.У вас не должно быть никаких проблем.Ваша проблема лежит где-то еще.

0 голосов
/ 08 апреля 2011

Это имеет смысл, потому что вы сопоставляете не предметы в тот же день, а предметы в одну секунду.
если вы измените

AND DATE(L.j_logged_date) = CURDATE()  

до

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

Таким образом, если записанная дата будет в любое время в этот день, она будет соответствовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...