MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment calculer l'âge dans MariaDB

Dans MariaDB, vous pouvez utiliser le TIMESTAMPDIFF() fonction pour calculer l'âge d'une personne (ou l'âge de n'importe quoi d'ailleurs).

TIMESTAMPDIFF() est une fonction de date et d'heure intégrée qui renvoie la différence entre deux expressions de date ou datetime. Réussir YEAR comme premier argument, la date de naissance comme deuxième argument et la date actuelle comme troisième renverront l'âge en années.

Exemple

Voici un exemple pour illustrer :

SELECT TIMESTAMPDIFF(YEAR, '1985-02-15', CURDATE()) AS Age;

Résultat :

+------+
| Age  |
+------+
|   36 |
+------+

Ici, nous utilisons CURDATE() pour retourner la date actuelle.

Exemple de base de données

Voici un exemple qui renvoie l'âge des animaux de compagnie dans une base de données, puis trie les résultats par âge dans l'ordre décroissant :

SELECT
    PetName,
    DOB,
    CURDATE(),
    TIMESTAMPDIFF(YEAR, DOB, CURDATE()) AS Age 
FROM Pets
ORDER BY Age DESC;

Résultat :

+---------+------------+------------+------+
| PetName | DOB        | CURDATE()  | Age  |
+---------+------------+------------+------+
| Scratch | 2018-10-01 | 2021-05-30 |    2 |
| Fetch   | 2019-08-16 | 2021-05-30 |    1 |
| Wag     | 2020-03-15 | 2021-05-30 |    1 |
| Fluffy  | 2020-11-20 | 2021-05-30 |    0 |
| Tweet   | 2020-11-28 | 2021-05-30 |    0 |
| Fluffy  | 2020-09-17 | 2021-05-30 |    0 |
| Bark    | NULL       | 2021-05-30 | NULL |
| Meow    | NULL       | 2021-05-30 | NULL |
+---------+------------+------------+------+

Les animaux de moins d'un an ont un âge de 0 .

Où la colonne de date de naissance est null , le résultat est null .