2011-07-18 97 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()) 
相關問題