2

What is the proper way to query all data on current date? a function in mysql that will get the current date in 12:01 am and current date 11:59 pm

select * from tb_data where date between currentdate_starts and currentdate_ends
Saharsh Shah
  • 27,975
  • 8
  • 43
  • 82
user2095165
  • 185
  • 1
  • 3
  • 13

5 Answers5

5

Without using DATE(column) = CURDATE()

   SELECT * FROM tb_data WHERE date between concat(curdate(),' ','00:00:00') AND concat(curdate(),' ','23:59:59')

more info

Community
  • 1
  • 1
Ukkin
  • 91
  • 8
4

Try using CURDATE()

SELECT field FROM table WHERE DATE(column) = CURDATE()


select * from tb_data where DATE(date) = CURDATE()

Documentation: CURDATE

Surabhil Sergy
  • 1,868
  • 1
  • 24
  • 39
2

CURDATE() returns the current date.

SELECT * from FROM tb_data WHERE DATE(column) = CURDATE()
Nagaraj S
  • 12,994
  • 6
  • 31
  • 51
2

Use CURRENT_DATE() or CURDATE() function.

Try this:

SELECT * FROM tb_data WHERE DATE(dateCol) = CURRENT_DATE();

OR

SELECT * FROM tb_data WHERE DATE(dateCol) = CURDATE() 
Saharsh Shah
  • 27,975
  • 8
  • 43
  • 82
2

well since there are so many answers. Try this one too and see if it's faster

SELECT * FROM tb_data WHERE date BETWEEN CURDATE() AND (CURDATE()+INTERVAL 1 DAY-INTERVAL 1 SECOND)
Tin Tran
  • 6,074
  • 3
  • 17
  • 32