Home » Php » mysql: select all entries from a particular month using PHP

mysql: select all entries from a particular month using PHP

Posted by: admin July 12, 2020 Leave a comment

Questions:

I have a mysql database table called POST.
One of the fields is a timestamp, set to default to the current timestamp on the mysql server when the record is created.

I need a SQL query to extract all rows that have a timestamp within a particular month. That is, all records for March, or all records for November, etc.

How to&Answers:

you have to use monthname()

select * from thetable where monthname(date_field) = 'February'

or month(), but this function will return a number

select * from thetable where month(date_field) = 2

Answer:

Use:

SELECT p.*
  FROM POST p
 WHERE p.date BETWEEN '2011-03-01' AND DATE_SUB('2011-04-01', INTERVAL 1 SECOND)

This will use an index if one exists on POST.date, when using a function (IE: MONTHNAME, MONTH) on the POST.date column will not.

Answer:

You can use monthname():

select * from post where monthname(date) = 'February'