MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

So berechnen Sie das Alter in MariaDB

In MariaDB können Sie den TIMESTAMPDIFF() verwenden Funktion, um das Alter einer Person (oder das Alter von irgendetwas) zu berechnen.

TIMESTAMPDIFF() ist eine integrierte Datums- und Zeitfunktion, die die Differenz zwischen zwei Datums- oder Datumszeitausdrücken zurückgibt. YEAR bestanden als erstes Argument, Geburtsdatum als zweites Argument und das aktuelle Datum als drittes geben das Alter in Jahren zurück.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

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

Ergebnis:

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

Hier verwenden wir CURDATE() um das aktuelle Datum zurückzugeben.

Datenbankbeispiel

Hier ist ein Beispiel, das das Alter von Haustieren in einer Datenbank zurückgibt und die Ergebnisse dann in absteigender Reihenfolge nach Alter sortiert:

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

Ergebnis:

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

Haustiere, die jünger als ein Jahr sind, haben ein Alter von 0 .

Wobei die Geburtsdatumsspalte null ist , ist das Ergebnis null .