La requête suivante permet la construction d’une table de temps (du 01/01/1900 au 31/12/2050) à l’aide d’une table CTE.
Dans l’exemple ci-dessous, elle ne contient que 5 champs, mais peut-être étendue facilement.
with DimensionTemps as
(
select cast('1900-01-01' as datetime) Date,
1900 as Annee,
01 as Mois,
01 as Jour,
01 as Trimestre
union all
select
Date + 1,
year(Date + 1),
month(Date + 1),
day(Date + 1),
datepart(Quarter ,Date + 1)
from
DimensionTemps
where
Date + 1 < '2050-12-31'
)
select
Date,
Annee,
Mois,
Jour,
Trimestre
from
DimensionTemps
OPTION (MAXRECURSION 0)
Pas de commentaire reçu(s)
Laisser une réponse