2011-07-18 62 views
7

是否可以选择一个月的所有字段?MYSQL从哪个月选择所有表?

例如:我有此列的列“CREATE_DATE”和值:

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) 

如何选择所有字段,其中一个月等于05?

回答

26

你可以使用

SELECT create_date FROM table WHERE MONTH(create_date) = 5 
+0

实际上,米尔哥罗德希望5 ...: ) – ascanio

3
SELECT * FROM your_table WHERE month(create_date) = 5 

看看documentation 此查询工作在时间类型列

-2

你可以这样做:

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

看看问题:有'2011'和'2012'年的例子标记为'(this)' –

2

只是偶然发现了一些使用MONTH() 时,它只会从一个日期字符串拿到一个月就更不用说了。不是从unixtimestamp

,如果你想用unixtimestamp尝试使用它:

MONTH(FROM_UNIXTIME(create_date)) 
1

对于当月的动态过滤:

MONTH(create_date) = MONTH(NOW()) 
相关问题