In MariaDB kunt u de TIMESTAMPDIFF()
. gebruiken functie om de leeftijd van een persoon te berekenen (of de leeftijd van wat dan ook).
TIMESTAMPDIFF()
is een ingebouwde datum- en tijdfunctie die het verschil tussen twee datum- of datetime-expressies retourneert. Overgaand YEAR
als het eerste argument, de geboortedatum als het tweede argument en de huidige datum als het derde, geeft de leeftijd in jaren terug.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT TIMESTAMPDIFF(YEAR, '1985-02-15', CURDATE()) AS Age;
Resultaat:
+------+ | Age | +------+ | 36 | +------+
Hier gebruiken we CURDATE()
om de huidige datum terug te geven.
Databasevoorbeeld
Hier is een voorbeeld dat de leeftijd van huisdieren in een database retourneert en vervolgens de resultaten sorteert op leeftijd in aflopende volgorde:
SELECT
PetName,
DOB,
CURDATE(),
TIMESTAMPDIFF(YEAR, DOB, CURDATE()) AS Age
FROM Pets
ORDER BY Age DESC;
Resultaat:
+---------+------------+------------+------+ | 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 | +---------+------------+------------+------+
Huisdieren die jonger zijn dan een jaar hebben een leeftijd van 0
.
Waar de geboortedatum kolom is null
, het resultaat is null
.