Maison > base de données > tutoriel mysql > Comment calculer avec précision la différence d'âge en années à l'aide de MySQL ?

Comment calculer avec précision la différence d'âge en années à l'aide de MySQL ?

Linda Hamilton
Libérer: 2024-10-29 18:12:10
original
1034 Les gens l'ont consulté

 How to Accurately Calculate Age Difference in Years Using MySQL?

Calcul de la différence d'âge dans MySQL sous forme d'entier

Déterminer l'âge d'un individu dans une base de données peut poser des défis lors du calcul de dates. La fonction intégrée de MySQL DATEDIFF calcule la différence entre deux dates en jours, ce qui nécessite un traitement supplémentaire pour obtenir l'âge en années.

Une approche consiste à diviser la différence en jours par 365, mais cela donne une valeur à virgule flottante. valeur. Pour obtenir un nombre entier, les composantes année de la date actuelle et de la date de naissance peuvent être soustraites :

SELECT id, year(curdate())-year(birth_date)
FROM student
Copier après la connexion

Cependant, cette approche rencontre des problèmes lorsque l'âge calculé est décalé d'un an pour les personnes nées après le mois en cours. . Par exemple, une personne née en juin 1970 serait considérée comme âgée de 32 ans selon cette méthode même si elle n'a que 31 ans et cinq mois.

Résolution :

À Pour résoudre ce problème, MySQL fournit la fonction TIMESTAMPDIFF, qui offre une approche plus précise pour calculer les différences d'âge. La requête suivante utilise TIMESTAMPDIFF :

SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference
FROM student
Copier après la connexion

En remplaçant YEAR par MOIS ou JOUR, les différences d'âge peuvent être calculées en mois ou en jours, respectivement. Cette méthode gère efficacement les scénarios dans lesquels l'âge est décalé d'une unité au cours de mois spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal