MYSQL select all from table where month?

is it possible to select all fields with some month?

For example: I have column 'create_date' and values of this column:

2011-05-06 11:12:13 (this)
2012-06-06 13:12:13
2010-02-06 14:52:13
2011-05-06 21:12:13 (this)
2001-08-06 16:12:13
2011-09-06 18:12:43
2009-01-06 11:12:13
2012-02-06 12:17:55
2010-03-06 14:15:13
2012-05-06 11:19:23 (this)

How to select all fields where month equals to 05?


You could use

SELECT create_date FROM table WHERE MONTH(create_date) = 5

SELECT * FROM your_table WHERE month(create_date) = 5

look at documentation This query works on datetime type of column

SELECT * FROM table WHERE MONTH(create_date) = 5

Use month(Yourdate) to extract the month

just stumbled upon something to mention when using MONTH() it will only get the month from a DATE string. not from a unixtimestamp

if you want to use it with a unixtimestamp try:


For a dynamic filtering of the current month :

MONTH(create_date) = MONTH(NOW())

You could do something like:

select create_date from "table" where create_date between '2011-05-01' and '2011-05-31';

Need Your Help

Which is faster? ++, += or x + 1?

c# .net performance operators

I am using C# (This question is also valid for similar languages like C++) and I am trying to figure out the fastest and most efficient way to increment. It isn't just one or two increments, in my ...

using ng-repeat inside another ng-repeat

javascript angularjs angularjs-ng-repeat

I'm developing a page where I need to show some boxes (using ng-repeat) that contains info of channels and where it will be shown (which are cities).