Envisager la nécessité de créer un jeu de résultats de dates. Nous avons de début et dates de fin, et nous tenons à générer une liste de dates entre les deux.
DECLARE @Start datetime
,@End datetime
DECLARE @AllDates table
(@Date datetime)
SELECT @Start = 'Mar 1 2009', @End = 'Aug 1 2009'
--need to fill @AllDates. Trying to avoid looping.
-- Surely if a better solution exists.
Évaluer la mise en œuvre, en WHILE
boucle:
DECLARE @dCounter datetime
SELECT @dCounter = @Start
WHILE @dCounter <= @End
BEGIN
INSERT INTO @AllDates VALUES (@dCounter)
SELECT @dCounter=@dCounter+1
END
Question: Comment voulez-vous créer un ensemble de dates qui sont à l'intérieur d'une plage définie par l'utilisateur à l'aide de T-SQL? Supposons SQL 2005+. Si votre réponse est à l'aide de SQL 2008, veuillez marque en tant que telle.