Подтвердить что ты не робот

MySQL Выберите дату, равную сегодняшнему

Я пытаюсь запустить оператор select mysql, где он смотрит сегодня, и возвращает результаты, которые были зарегистрированы в этот текущий день. В настоящее время я пробовал следующее, но он не работает.

SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') 
    FROM users 
    WHERE users.signup_date = CURDATE()

Я изменил свою инструкцию SELECT, спасибо, ребята.

SELECT id FROM users WHERE DATE(signup_date) = CURDATE()

4b9b3361

Ответ 1

SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') 
FROM users 
WHERE DATE(signup_date) = CURDATE()

Ответ 2

Этот запрос будет использовать индекс, если у вас есть это поле signup_date

SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') 
    FROM users 
    WHERE signup_date >= CURDATE() && signup_date < (CURDATE() + INTERVAL 1 DAY)

Ответ 3

Похоже, вам нужно добавить форматирование в WHERE:

SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') 
FROM users 
WHERE DATE_FORMAT(users.signup_date, '%Y-%m-%d') = CURDATE()

См. SQL Fiddle with Demo