오늘 날짜를보고 당일에 등록한 결과 만 반환하는 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()
답변
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()
답변
CONCAT
with CURDATE()
를 하루 중 전체 시간 동안 사용한 다음 BETWEEN
in WHERE
조건 을 사용하여 필터링 할 수 있습니다 .
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d')
FROM users
WHERE (users.signup_date BETWEEN CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59'))