Très élégante solution mais pas tout à fait correcte, Mod retourne le reste de la division, il faut effectuer une division : SELECT YEAR(curdate()) - 1 + floor(MONTH(curDATE())/8)
Sinon de manière plus lisible on peut écrire : SELECT if(month(curdate()<9), YEAR(curdate()) - 1, YEAR(curdate()))
A noter que tout ceci est écrit en MySQL, selon le dialecte utilisé les noms de fonctions peuvent changer (en particulier curdate, floor et if - qui peut s'appeler iif).
[^] # Re: modulo sur le mois
Posté par ComputingFroggy (site web personnel) . En réponse au message Manipulation de dates. Évalué à 4.
Très élégante solution mais pas tout à fait correcte,
Modretourne le reste de la division, il faut effectuer une division :SELECT YEAR(curdate()) - 1 + floor(MONTH(curDATE())/8)Sinon de manière plus lisible on peut écrire :
SELECT if(month(curdate()<9), YEAR(curdate()) - 1, YEAR(curdate()))A noter que tout ceci est écrit en MySQL, selon le dialecte utilisé les noms de fonctions peuvent changer (en particulier
curdate,flooretif- qui peut s'appeleriif).