captain_torche Posté 2 Mai 2006 Partager Posté 2 Mai 2006 Bonjour à tous. Je suis en train de faire un script de statistiques, que j'aimerais pouvoir limiter à l'affichage à une année précise, ou à un mois précis. J'arrive bien à retourner la bonne année dans ma requête, avec un YEAR SELECT * FROM table WHERE YEAR(date) = 2006 mais dès qu'il s'agit de limiter à un mois précis, je n'ai pas trouvé de méthode autre que SELECT * FROM table WHERE date LIKE '2006-05%' ce qui me semble extrèmement peu gracieux (et, je l'imagine très bien, gourmand en ressources dès lors que le nombre d'entrées est conséquent). J'avais bien essayé avec CONCAT(YEAR(date),'-',MONTH(date)) = '2006-05' mais MONTH ne me renverrait qu'un entier d'un chiffre dans le cas présent (2006-5). Qu'utiliser ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
robinsonvendredi Posté 2 Mai 2006 Partager Posté 2 Mai 2006 Tu ne peux pas formater les variables '2006' et '05' en entiers avant de les passer dans la requête SQL ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 2 Mai 2006 Auteur Partager Posté 2 Mai 2006 Si, je pourrai effectivement. Et, dans ce cas, vaut-il mieux faire le concat (comme précisé au-dessus), ou plutôt : WHERE YEAR(date) = 2006 AND MONTH(date) = 5 Quelle influence cela aurait-il côté performances ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
robinsonvendredi Posté 2 Mai 2006 Partager Posté 2 Mai 2006 Je pense qu'il vaut mieux éviter de concaténer en SQL Je serais donc plutôt pour ta dernière solution. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 2 Mai 2006 Auteur Partager Posté 2 Mai 2006 Ok, merci pour tes réponses rapides, en tout cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant