Maison > base de données > tutoriel mysql > 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 ?

DDD
Libérer: 2024-10-29 18:10:50
original
535 Les gens l'ont consulté

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

Calcul de la différence d'âge en années sous forme d'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érons le tableau « étudiant » 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 incorrectement 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 :

<code class="sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student</code>
Copier après la connexion

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 l'expression :

<code class="sql">SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student</code>
Copier après la connexion

De même, pour la différence en jours, remplacez 'ANNÉE' par 'JOUR' :

<code class="sql">SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student</code>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal