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
  • 28,687
  • 8
  • 48
  • 83
user2095165
  • 185
  • 1
  • 4
  • 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,946
  • 1
  • 23
  • 40
2

CURDATE() returns the current date.

SELECT * from FROM tb_data WHERE DATE(column) = CURDATE()
Nagaraj S
  • 13,316
  • 6
  • 32
  • 53
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
  • 28,687
  • 8
  • 48
  • 83
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,194
  • 3
  • 19
  • 34