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


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

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()

3 60

3 ответа:

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

этот запрос будет использовать индекс, если у вас это 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)

Похоже, вам нужно добавить форматирование в 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 Скрипка с демо