Argh, j'ai oublié un saut de ligne, ça fait tout moche.
Je reprends :
select
ceiling
(
cast
(
datepart
(
month
,
maDate
)
as
float
)/
3
)
from
maTable
* datepart(month, madate) renvoie le numéro du mois de ta date (de 1 à 12)
* cast(... as float) va convertir ce mois en décimal. Si tu ne le fais pas il va tronquer le résultat de ta division par 3 : ex. pour novembre : 11/3 => 3 au lieu de 3.6666666..
* /3 car 1 trimestre = 3 mois
* ceiling pour arrondir à l'entier supérieur le plus proche ;
- Aout : 8/3 = 2.66666.. =< Ceiling(8/3) = 3
- Octobre : 10/3 = 3.3333333... => Ceiling(10/3) = 4
- Décembre : 12/3 = 4 => Ceiling(12/3) = 4
etc...