Bonjour,

Je souhaiterais récupérer la liste des jours du mois d'une date donnée.

Entrée: date
Sortie : une table avec la liste des jours de mois de la date donnée.

Exemple :
Date -> 01/02/2007
Résultat : JOUR
1
2
...
28

J'ai crée un bout de code qui boucle,

N'y'a t-il pas un autre moyen d'avoir le même résultat ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
DECLARE
	@date DATETIME,
	@nbJours int,
	@cpt int
 
SELECT
	@date = '01/02/2007',
	@nbJours = 0,
	@cpt = 0
 
SELECT @nbJours = DAY(DATEADD(d, -DAY(DATEADD(m,1,@Date)),DATEADD(m,1,@date)))
 
CREATE TABLE #T (JOUR INT) 
 
WHILE  @cpt < @nbJours
BEGIN
	SET @cpt = @cpt + 1
	INSERT INTO #T VALUES(@cpt)
END
 
PRINT 'nb de jours : ' + CAST(@nbJours AS VARCHAR)
select * from #T