2011-07-18 12 views
7

czy można wybrać wszystkie pola za jakiś miesiąc?MYSQL wybierz wszystko z tabeli gdzie miesiąc?

Na przykład: Mam kolumnę „create_date” i wartości tej kolumny:

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) 

Jak zaznaczyć wszystkie pola, gdzie miesiąc równa 05?

Odpowiedz

26

Można użyć

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

faktycznie, Mirgorod chce 5 ...:) – ascanio

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

spojrzenie na documentation Ta kwerenda działa od typu datetime kolumny

-2

Można zrobić coś takiego:

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

Spójrz na pytanie: w przykładzie są '2011' i' 2012' lata oznaczone jako '(this)' –

2

właśnie natknął się coś wspomnieć przy użyciu miesiąca() będzie się tylko miesiąc z ciągiem DATA. nie z unixtimestamp

jeśli chcesz używać go z unixtimestamp Spróbuj:

MONTH(FROM_UNIXTIME(create_date)) 
1

Dla dynamicznego filtrowania bieżącego miesiąca:

MONTH(create_date) = MONTH(NOW()) 
Powiązane problemy