Nombre de jours entre 2 dates [Résolu]

Signaler
Messages postés
35
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
-
Messages postés
35
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
-
Bonjour tout le monde,

J'aimerais calculer le nombre de jours qu'il y a entre deux dates entrées en paramètre dans une fonction.
Si quelqu'un a une idée, n'hésitez pas...

Merci d'avance
Jakata

PS: sous MS Sql

3 réponses

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
salut

utilise la fonction DATEDIFF de SQL Server :
DATEDIFF('d', dateDebut, DateFin)

je te mets le lien des MSDN pour DATEDIFF
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ca-co_2f3o.asp
Messages postés
35
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009

Merci.

J'ai encore une petite question.
Mes deux dates sont des string sous le format YYYYMMJJ.
Comment je fais pour obtenir le bon format datetime?

Jakata
Messages postés
35
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009

Je pense que j'ai trouvé.
Si quelqu'un trouve plus court ou plus facile ....

Declare @strYear as varchar(4)
Declare @strMonth as varchar(2)
Declare @strDay as varchar(2)
Declare @strDate as varchar(10)
Declare @strStartas varchar(8)
Declare @strEndas varchar(8)
Declare @dStart as datetime
Declare @dEnd as datetime
Declare @iDiff as int

Set @dStart = '20060511'
Set @dEnd = '20060530'

Set @strYear = substring(@strStart,1,4)
Set @strMonth = substring(@strStart,5,2)
Set @strDay = substring(@strStart,7,2)
Set @strDate = @strYear + '-' + @strMonth + '-' + @strDay
Set @dStart = CAST(@strDate AS datetime)

Set @strYear = substring(@strEnd,1,4)
Set @strMonth = substring(@strEnd,5,2)
Set @strDay = substring(@strEnd,7,2)
Set @strDate = @strYear + '-' + @strMonth + '-' + @strDay
Set @dEnd = CAST(@strDate AS datetime)

Set @iDiff = DATEDIFF(day, @dStart, @dEnd) + 1

Jakata