Numéro de semaine calendaire MySQL
MySQL possède un grand nombre de fonctions pour gérer les dates et le temps. Il est possible de récupérer le numéro calendaire d’une semaine avec la fonction week. Dimanche 5 avril nous étions semaine 14. La fonction week nous le confirme:
mysql> SELECT week('2009-04-05'); +--------------------+ | week('2009-04-05') | +--------------------+ | 14 | +--------------------+
Lundi 6 avril, nouvelle semaine, on passe donc à la semaine 15:
mysql> SELECT week('2009-04-06'); +--------------------+ | week('2009-04-06') | +--------------------+ | 14 | +--------------------+
Souci !!! Le résultat n’est pas celui espéré (14 au lieu de 15). En fait la fonction week prend un deuxième paramètre optionnel, qui permet de « régler la précision » (compter sur 53 ou 54 semaines, commencer la semaine un dimanche ou un lundi…) bref elle est complète et complexe…
Le réglage usuel est de mettre le deuxième paramètre à 3 ! ou alors d’utiliser la fonction WEEKOFYEAR.
mysql> SELECT weekofyear('2009-04-05'); +--------------------------+ | weekofyear('2009-04-05') | +--------------------------+ | 14 | +--------------------------+
mysql> SELECT weekofyear('2009-04-06'); +--------------------------+ | weekofyear('2009-04-06') | +--------------------------+ | 15 | +--------------------------+
Architecte Solution Cloud chez Oracle
MySQL Geek, Architecte, DBA, Consultant, Formateur, Auteur, Blogueur et Conférencier.
—–
Blog: www.dasini.net/blog/en/
Twitter: https://twitter.com/freshdaz
SlideShare: www.slideshare.net/freshdaz
Youtube: https://www.youtube.com/channel/UC12TulyJsJZHoCmby3Nm3WQ
—–