Maison >base de données >tutoriel mysql >Comment calculer l'âge à partir d'une date de naissance à l'aide de MySQL ?

Comment calculer l'âge à partir d'une date de naissance à l'aide de MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-16 11:53:581010parcourir

How to Calculate Age from a Date of Birth Using MySQL?

Utilisez MySQL (InnoDB) pour calculer l'âge

Cet article décrit comment utiliser la fonction TIMESTAMPDIFF de MySQL pour calculer l'âge en fonction de la date de naissance stockée dans la base de données.

Question :

En supposant que la date de naissance soit stockée au format « jj-mm-aaaa », nous devons déterminer :

  • Le format de la date renvoyé après soustraction des dates.
  • Comment calculer l'âge d'une personne en utilisant le format renvoyé.

Solution :

Format des dates :

Le format de date renvoyé par MySQL après avoir soustrait une autre date de la date actuelle est le format de date et d'heure MySQL par défaut : AAAA-MM-JJ HH:MM:SS.

Calculer l'âge :

Nous pouvons utiliser la fonction TIMESTAMPDIFF pour calculer la différence entre deux dates dans des unités différentes (y compris les années). Un exemple est le suivant :

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>

Cette requête calcule la différence entre le 1er février 1970 et la date actuelle et renvoie l'âge en années.

Exemple :

Considérons un tableau contenant une colonne appelée 'date_of_birth' au format 'jj-mm-aaaa' :

<code class="language-sql">CREATE TABLE persons (
  id INT PRIMARY KEY,
  name VARCHAR(255),
  date_of_birth DATE
);

INSERT INTO persons (name, date_of_birth) VALUES
  ('John Doe', '1970-02-01'),
  ('Jane Doe', '1975-04-15');</code>

Pour calculer l'âge de « John Doe », nous exécuterons la requête suivante :

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS age
FROM persons
WHERE name = 'John Doe';</code>

Cette requête renverra des résultats :

<code>age
51</code>

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!

Déclaration:
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