MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come calcolare l'età in MariaDB

In MariaDB, puoi usare TIMESTAMPDIFF() funzione per calcolare l'età di una persona (o l'età di qualsiasi cosa).

TIMESTAMPDIFF() è una funzione di data e ora incorporata che restituisce la differenza tra due espressioni di data o data e ora. Passando YEAR come primo argomento, data di nascita come secondo argomento e data corrente come terzo, restituiranno l'età in anni.

Esempio

Ecco un esempio da dimostrare:

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

Risultato:

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

Qui utilizziamo CURDATE() per restituire la data corrente.

Esempio di database

Ecco un esempio che restituisce l'età degli animali domestici in un database, quindi ordina i risultati per età in ordine decrescente:

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

Risultato:

+---------+------------+------------+------+
| 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 |
+---------+------------+------------+------+

Gli animali di età inferiore a un anno hanno un'età di 0 .

Dove la colonna della data di nascita è null , il risultato è null .