Mysql - Select solo i campi che vengono compresi in una data

danilopg

Nuovo Utente
22 Ott 2009
3
0
0
Salve a tutti, cercherò di essere breve.
Ho una tabella di nome eventi con due colonne DATA (quindi YYYY-MM-DD) ovvero data1 (inizio evento) e data2 (fine evento).

Ora ho una variabile che determina il mese ( numerico )
Come faccio ad estratte tutti i record che hanno questa variabile compresa tra data1 e data2?

In pratica:
id, data1, data2
1, 2010-05-13, 2010-08-21
2, 2010-07-01, 2010-09-21
3, 2010-10-15, 2010-12-25

Primo caso:
$variabile=05 (maggio tanto per capirci)
voglio solamente il record con id 1

Secondo caso:
$variabile=07 (maggio tanto per capirci)
voglio i record con id 1 e 2

Mi aiutate a creare la select? grazie mille.
 
Ciao, dunque mettiamo il caso che hai citato tu, come mese 5 (Maggio) allora puoi utilizzare la funzione mysql MONTH() che estrae il mese dalla data:
Codice:
SELECT * FROM tabella WHERE MONTH(tabella.data1) >= 5 AND MONTH(tabella.data2) <= 5;
In questo modo non fa comunque differenza con gli anni. Mi spiego se hai degli eventi che riguardano anni precedenti vengono selezionati comuqnue. In questo caso puoi utilizzare la funzione YEAR() (che estrae l'anno dalla data) e mettere le condizioni anche per gli anni.
 

Discussioni simili