Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2005, 20h46   #1
Membre confirmé
 
Inscription : juillet 2004
Messages : 727
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 727
Points : 216
Points : 216
Par défaut Calculer l'age d'une personne

Je suis sous MySQL 4.0

Comment faire pour calculer l'age d'une personne ?
Mon champs est en type "date"

Or les fonctions pour calculer facilement le nombre d'année entre deux dates et sous Mysql 4.1 :-(

PS: J'ai des gros problemes de connexion internet, j'ai pas accès à la FAQ :-(
Oberown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 01h05   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Ptêt pas top au niveau des perfs ni de la précision mais bon...
Code :
1
2
 
SELECT prenom, nom, (DATE_FORMAT(CURDATE(),"%Y") - DATE_FORMAT(date_naissance, "%Y")) FROM `matable`
;-)
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 10h24   #3
Membre confirmé
 
Inscription : juillet 2004
Messages : 727
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 727
Points : 216
Points : 216
Justement j'ai besoin de précision, si le mois est pas encore passé c'est faux, donc il faut verifier le mois et faire -1. Mais comment faire un IF ?
Oberown est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 10h35   #4
Membre habitué
 
Inscription : août 2005
Messages : 142
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 142
Points : 124
Points : 124
voici ce que j'utilise:

Code :
floor( (time()-strtotime(date_naissance)/31557600 );
zulkifli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 10h46   #5
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
ou bien :

Code :
1
2
 
SELECT nom,prenom,floor((curdate()-date_naissance)/10000) FROM latable
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 10h57   #6
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Citation:
Envoyé par zulkifli
voici ce que j'utilise:

Code :
floor( (time()-strtotime(date_naissance)/31557600 );
on est pas dans le forum php zulkifli ;-)
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 14h19   #7
Membre habitué
 
Inscription : août 2005
Messages : 142
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 142
Points : 124
Points : 124
oups
zulkifli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h50.


 
 
 
 
Partenaires

Hébergement Web