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
.