Maison > base de données > tutoriel mysql > Comment calculer la différence d'âge précise en années dans MySQL ?

Comment calculer la différence d'âge précise en années dans MySQL ?

Patricia Arquette
Libérer: 2024-10-31 12:12:01
original
992 Les gens l'ont consulté

How to Calculate the Accurate Age Difference in Years in MySQL?

Calcul de la différence d'âge en années dans MySQL : une solution complète

Déterminer l'âge des individus stockés dans une base de données est une tâche courante. Cependant, calculer la différence en années entre deux dates peut s'avérer difficile, car les méthodes conventionnelles entraînent souvent des inexactitudes ou des formats de données indésirables.

Supposons que nous ayons un tableau simplifié nommé « étudiant » avec les colonnes « id » et « birth_date ". L'objectif est de calculer l'âge de chaque élève en années.

Tentatives et défis initiaux

À l'aide de la requête suivante :

select id, datediff(curdate(),birth_date) 
from student
Copier après la connexion

nous obtenir la différence d’âge en jours, ce qui n’est pas le résultat souhaité. Division par 365 :

select id, datediff(curdate(),birth_date) / 365
from student
Copier après la connexion

produit une valeur à virgule flottante au lieu d'un nombre entier. Enfin, le calcul :

select id, year(curdate())-year(birth_date) 
from student
Copier après la connexion

entraîne des inexactitudes dues aux anniversaires survenant après la date actuelle, ce qui donne des calculs d'âge incorrects.

Une solution alternative

Pour relever ces défis, considérez la requête suivante :

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

L'utilisation de la fonction TIMESTAMPDIFF() garantit un calcul précis des années, même si les anniversaires tombent dans l'année en cours.

Pour pour une plus grande flexibilité, remplacez "ANNÉE" par "MOIS" ou "JOUR" pour calculer les différences en mois ou en jours, respectivement.

Cette solution fournit une méthode précise et précise pour déterminer la différence d'âge en années entre deux dates stockées dans une base de données MySQL.

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