2013-10-28 2 views
1

Если кто-то может сказать мне, если этот метод достаточно хорошо работает и пожалуйста:MYSQL COMPARE + DATETIME WITH SUBSTR?

SELECT 
      idusers, 
      nom, 
      prenom, 
      email, 
      SUBSTR(lastlogin, 1, 10), 
      genre 
     FROM 
      users 
       WHERE 
        active = 1 
         AND 
        is_banned != 1 
         AND 
        SUBSTR(lastlogin, 1, 10) < '2013-10-14' 
         OR 
        active = 1 
         AND 
        is_banned != 1 
         AND 
        lastlogin IS NULL 

Согласно «SUBSTR (lastlogin, 1, 10) <„2013-10-14“», что по-видимому, работает, но я я не уверен, что это лучший способ найти людей, которые не вошли в систему с 2 недель.

Cheers!

+0

Очевидно DATETIME формат является «гггг-мм-дд 00: 00: 000» ИЛИ Null – Titus

ответ

0

Вы не должны полагаться на формат строки по умолчанию столбца DATE. Вместо этого, MySQL имеет кучу функций даты манипуляции вы могли бы использовать:

SELECT idusers, 
     nom, 
     prenom, 
     email, 
     DATE_FORMAT (last_login, ;%y-%m-%d) 
     genre 
FROM users 
WHERE active =1 
     AND 
     is_banned != 1 
     AND 
     (DATE_DIFF(CURDATE(), last_login) >= 14 OR lst_login IS NULL)