"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment calculer la différence d'âge en années sous forme d'entier dans MySQL ?

Comment calculer la différence d'âge en années sous forme d'entier dans MySQL ?

Publié le 2024-12-23
Parcourir:719

 How to Calculate Age Difference in Years as an Integer in MySQL?

Calculer la différence d'âge en années sous forme d'un nombre entier dans MySQL

Déterminer l'âge d'une personne dans une base de données présente un léger défi lorsqu'il s'agit de calculs d'âge . Considérez la table 'student' avec les colonnes 'id' et 'birth_date'.

Pour calculer l'âge en jours, l'expression datediff(curdate(),birth_date) peut être utilisée, mais elle renvoie une valeur à virgule flottante . La division par 365 donne également une valeur à virgule flottante.

Le calcul des années sous la forme year(curdate())-year(birth_date) introduit également un problème. Par exemple, si une personne est née en juin 1970 et que la date actuelle est en mai, l'expression renverrait de manière incorrecte 32 ans au lieu de 31.

Solution alternative pour la différence d'année entière :

Pour résoudre ce problème, considérez l'instruction SQL suivante :

SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student

Cette expression calcule la différence entre la 'date_of_birth' et 'CURDATE()' en années, ce qui donne une valeur entière.

Extension pour les mois et les jours :

Pour calculer la différence en mois, remplacez « ANNÉE » par « MOIS » dans le champ expression :

SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student

De même, pour la différence en jours, remplacez 'YEAR' par 'DAY' :

SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3