captain_torche Posté 2 Mai 2006 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 ?
robinsonvendredi Posté 2 Mai 2006 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 ?
captain_torche Posté 2 Mai 2006 Auteur 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 ?
robinsonvendredi Posté 2 Mai 2006 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.
captain_torche Posté 2 Mai 2006 Auteur Posté 2 Mai 2006 Ok, merci pour tes réponses rapides, en tout cas.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant