jeudi 24 janvier 2008
C'est déguelasse
Dans la rubrique le monde est fou
Madame de Fontenay, à toutes les sauces
Il est périmé ce yahourt ?
Aller au contenu | Aller au menu | Aller à la recherche
jeudi 24 janvier 2008
Dans la rubrique le monde est fou
Madame de Fontenay, à toutes les sauces
Il est périmé ce yahourt ?
Dans la rubrique Mysql
SELECT WEEK('2008-01-01'); // 0; SELECT WEEK('2008-01-07'); // 1; SELECT WEEK('2008-02-03'); // 4; SELECT WEEK('2008-12-31'); // 52;
WEEK ne compte que les semaines complètes.
Certains vont dire, mais non la première semaine c'est la 0.
Non, non, en voici la preuve
SELECT DAYOFWEEK('2008-01-01'), # 3 DAYOFWEEK('2007-01-01'), # 2 DAYOFWEEK('2006-01-01'), # 1 <- ICI l'année commence le premier jour de la semaine DAYOFWEEK('2005-01-01'), # 7 DAYOFWEEK('2004-01-01'), # 6 DAYOFWEEK('2003-01-01'), # 5 DAYOFWEEK('2002-01-01'); # 4
Du coup
SELECT WEEK('2008-01-01'), # 0 WEEK('2007-01-01'), # 0 WEEK('2006-01-01'), # 1 <-on est bien la première semaine complète de l'année WEEK('2005-01-01'), # 0 WEEK('2004-01-01'), # 0 WEEK('2003-01-01'); # 0
et du coup
SELECT WEEK('2008-12-31'), # 52 WEEK('2007-12-31'), # 52 WEEK('2006-12-31'), # 53 WEEK('2005-12-31'), # 52 WEEK('2004-12-31'), # 52 WEEK('2003-12-31'); # 52
En fait maintenant il y a une deuxième paramètre.
WEEK(date ,mode)
Voici ce que dit le manuel.
Avec deux arguments, la fonction WEEK() vous permet de spécifier si les semaines commencent le Dimanche ou le Lundi et la valeur retournée sera dans l'intervalle 0-53 ou bien 1-52. Lorsque l'argument mode est omis, la valeur de la variable default_week_format (ou 0 en MySQL 4.0 ou plus ancien) est utilisée.
Voici un tableau explicatif sur le fonctionnement du second argument : Valeur Signification
Le mode 3 est disponible depuis MySQL 4.0.5. Le mode 4 est disponible depuis MySQL 4.0.17.