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 :
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!