Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rudi Bruchez
Bonjour,
olivier a écrit:
bonjour,
J'ai un champ : naissance_date DATETIME
comment faire en requete pour avoir l'age sous forme (ex:
1an, 125 jour
Il faut bricoler avec la fonction DATEDIFF. Qq exemples : http://www.developpez.net/forums/showthread.php?tE3345 http://blogs.codes-sources.com/christian/archive/2007/07/02/SQL-Server-Comment-calculer-differences-dates.aspx http://www.sqlteam.com/forums/topic.asp?TOPIC_IDb729
comment faire en requete pour avoir l'age sous forme (ex:
1an, 125 jour
Il faut bricoler avec la fonction DATEDIFF. Qq exemples :
http://www.developpez.net/forums/showthread.php?tE3345
http://blogs.codes-sources.com/christian/archive/2007/07/02/SQL-Server-Comment-calculer-differences-dates.aspx
http://www.sqlteam.com/forums/topic.asp?TOPIC_IDb729
comment faire en requete pour avoir l'age sous forme (ex:
1an, 125 jour
Il faut bricoler avec la fonction DATEDIFF. Qq exemples : http://www.developpez.net/forums/showthread.php?tE3345 http://blogs.codes-sources.com/christian/archive/2007/07/02/SQL-Server-Comment-calculer-differences-dates.aspx http://www.sqlteam.com/forums/topic.asp?TOPIC_IDb729
Voici ce que je ferais dans une procedure stockée :
DECLARE @d1 datetime DECLARE @d2 datetime
DECLARE @jours int DECLARE @ans int
SET @d1 = cast('01/01/1900' as datetime) -- date de naissance SET @d2= cast(cast(day(@d1) as varchar) + '/' + cast(month(@d1) as varchar) + '/' + cast(year(getdate()) as varchar) as datetime) -- dernière date anniversaire
if datediff(day,getdate(),@d2) >0 -- la date n'est pas passée pour cette année BEGIN set @ans = year(@d2)-year(@d1) -1 set @d2 = dateadd(year,-1,@d2) set @JoursÚtediff(day,@d2,getdate()) END else BEGIN set @ans = year(@d2)-year(@d1) set @Jours = datediff(day,@d2,getdate()) END
print cast(@ans as varchar) + ' ans' print cast(@jours as varchar) + ' jours'
Aloha, 2nis
"olivier" wrote:
bonjour,
J'ai un champ : naissance_date DATETIME
comment faire en requete pour avoir l'age sous forme (ex:
1an, 125 jour
merci
Voici ce que je ferais dans une procedure stockée :
DECLARE @d1 datetime
DECLARE @d2 datetime
DECLARE @jours int
DECLARE @ans int
SET @d1 = cast('01/01/1900' as datetime) -- date de naissance
SET @d2= cast(cast(day(@d1) as varchar) + '/' + cast(month(@d1) as varchar)
+ '/' + cast(year(getdate()) as varchar) as datetime) -- dernière date
anniversaire
if datediff(day,getdate(),@d2) >0 -- la date n'est pas passée pour cette année
BEGIN
set @ans = year(@d2)-year(@d1) -1
set @d2 = dateadd(year,-1,@d2)
set @JoursÚtediff(day,@d2,getdate())
END
else
BEGIN
set @ans = year(@d2)-year(@d1)
set @Jours = datediff(day,@d2,getdate())
END
print cast(@ans as varchar) + ' ans'
print cast(@jours as varchar) + ' jours'
Aloha, 2nis
"olivier" wrote:
bonjour,
J'ai un champ : naissance_date DATETIME
comment faire en requete pour avoir l'age sous forme (ex:
Voici ce que je ferais dans une procedure stockée :
DECLARE @d1 datetime DECLARE @d2 datetime
DECLARE @jours int DECLARE @ans int
SET @d1 = cast('01/01/1900' as datetime) -- date de naissance SET @d2= cast(cast(day(@d1) as varchar) + '/' + cast(month(@d1) as varchar) + '/' + cast(year(getdate()) as varchar) as datetime) -- dernière date anniversaire
if datediff(day,getdate(),@d2) >0 -- la date n'est pas passée pour cette année BEGIN set @ans = year(@d2)-year(@d1) -1 set @d2 = dateadd(year,-1,@d2) set @JoursÚtediff(day,@d2,getdate()) END else BEGIN set @ans = year(@d2)-year(@d1) set @Jours = datediff(day,@d2,getdate()) END
print cast(@ans as varchar) + ' ans' print cast(@jours as varchar) + ' jours'
Aloha, 2nis
"olivier" wrote:
bonjour,
J'ai un champ : naissance_date DATETIME
comment faire en requete pour avoir l'age sous forme (ex: