Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Select tylko konkretny miesiąc
robos85
post
Post #1





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


W bazie trzymam datę jako DATETIME.
W select chciałbym pobrać z bazy wszystkie rekordy np z 09-2009.

Jest jakaś funkcja mysql, którą można do tego uzyć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
bogdan89
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


jest taka...
Kod
MONTH()


np.:
Kod
SELECT * FROM table_name WHERE MONTH(date_column) = 4;


Ten post edytował bogdan89 15.09.2009, 14:45:40
Go to the top of the page
+Quote Post
robos85
post
Post #3





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


podziękował smile.gif
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Możliwe, że szybciej w tym przypadku zadziała po prostu zwykły LIKE (o ile masz indeks na kolumnie). Wystarczyłoby zrobić:
  1. SELECT * FROM table_name WHERE date_column LIKE '2009-09-__';

Tam są 2 znaki "_", które oznaczają dowolny jeden znak (czyli __ = dowolne 2 znaki). Nie wiem czy wykorzystanie MONTH() pozwoli na użycie indeksu (strzelam, że nie) dlatego w tym przypadku LIKe może okazać się szybszy. Nie zmienia to faktu, że wykorzystanie MONTH() jest bardziej logiczne smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 22:15