MySQL - Entre les mois (plutôt qu'un timestamp)
comment puis-je générer une requête MySQL pour saisir une ligne qui est entre un mois donné
par exemple prenez la ligne où le mois est entre le 01/01 (1er janvier) et le 01/06 (1er juin)
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr, si vous voulez récupérer toutes les lignes de janvier à juin, seules les lignes jusqu'au 1er juin ou toutes les lignes de janvier à Mai. Vous pouvez utiliser par exemple:
qui vous donne toutes les lignes, y compris le 1er juin.
L'utiliser pour obtenir toutes les lignes à partir du mois de janvier à juin:
(changement de
BETWEEN 1 AND 5
de janvier à Mai)date_column
est un type avec un temps composant, puisdate_column BETWEEN '2012-01-01' AND '2012-06-01'
ne reviendra pas, par exemple, une ligne oùdate_column
's la valeur est1 June 2012 12:34am
. Il va couper à 2012-06-01 00:00. Cela peut sembler un peu contre-intuitif pour les débutants, donc j'ai pensé que je voudrais mentionner expressément.DATE(date_column)
au lieu dedate_column
.date_column
avec un temps de composant que vous pouvez analyser la valeur avecMONTH(CAST(date_time AS DATE))
Si vous générez votre requête SQL en PHP, vous pouvez utiliser ENTRE
(Je soustrait un jour à exclure les données du mois suivant premier jour)
Ou vous pouvez utiliser EXTRAIT
En supposant que la colonne de mysql est le bon format (date/datetime), vous pouvez simplement comparer (>,<) :
Espère que cela aide!
Vous pouvez utiliser le
month()
,year()
etday()
fonctions. Si votre requête devrait ressembler à quelque chose commedate_field doit être une date ou datetime champ, si c'est un timestamp, vous devez utiliser le FROM_UNIXTIMESTAMP fonction de sorte qu'il ressemblerait à
month(FROM_UNIXTIMESTAMP(timestamp_field))