Maison > base de données > tutoriel mysql > le corps du texte

Comment calculer l'âge à partir de la date de naissance dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-15 12:30:02
original
202 Les gens l'ont consulté

How to Calculate Age from Date of Birth in MySQL?

Récupération de l'âge à partir de la date de naissance dans MySQL

Pour calculer l'âge d'un client en fonction de sa date de naissance stockée dans un champ MySQL , il est essentiel de considérer la notion de calcul de l’âge. L'âge est déterminé par la différence entre la date actuelle et la date de naissance, avec la réserve que si la date de naissance se situe dans l'année en cours, l'âge doit être décrémenté d'un.

Solution :

Pour y parvenir, la requête suivante peut être utilisée :

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
Copier après la connexion
Copier après la connexion

Répartition :

  • DATE_FORMAT(NOW( ), '%Y') : récupère l'année en cours.
  • DATE_FORMAT(dob, '%Y') : récupère le composant année du champ dob.
  • DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d') : Vérifie si l'année en cours a déjà dépassé l'anniversaire du client, ce qui donne une valeur booléenne (1 pour vrai, 0 pour faux).
  • Soustraire ceci La valeur booléenne de la différence d'année ajuste l'âge pour refléter avec précision l'âge actuel du client.

Exemple :

Supposons que le champ dob contienne la valeur suivante : 15/03/1985. Pour la date actuelle du 28/04/2023, la requête produirait le résultat suivant :

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
Copier après la connexion
Copier après la connexion
SELECT 2023 - 1985 - (20230428 < 19850315) AS age
Copier après la connexion
SELECT 38 - 0 AS age
Copier après la connexion
age = 38
Copier après la connexion

Par conséquent, en utilisant cette requête améliorée, vous pouvez récupérer l'âge de un client en fonction de sa date de naissance stockée dans un champ MySQL avec une plus grande précision.

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