format date de naissance

Le
olivier
bonjour,

J'ai un champ : naissance_date DATETIME

comment faire en requete pour avoir l'age sous forme (ex:

1an, 125 jour


merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Rudi Bruchez
Le #11883301
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


--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT, MVP SQL Server
http://www.babaluga.com/
http://rudi.developpez.com/
Denis
Le #11883291
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





Publicité
Poster une réponse
Anonyme