MySQL Choose today's date

I am trying to run the mysql select statement, where it looks today, and returns the results that were logged on this current day. Currently, I have tried the following, but it does not work.

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

I changed my SELECT , thanks guys.

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

+45
mysql
01 Oct '12 at 16:59
source share
3 answers
 SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE() 
+103
01 Oct '12 at 17:07
source share

This query will use the index if you have this signup_date field

 SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE signup_date >= CURDATE() && signup_date < (CURDATE() + INTERVAL 1 DAY) 
+12
01 Oct '12 at 17:09
source share

It looks like you need to add formatting to WHERE :

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

See SQL Fiddle with Demo

+7
01 Oct '12 at 17:07
source share



All Articles