sql >> Base de Datos >  >> RDS >> MariaDB

Cómo calcular la edad en MariaDB

En MariaDB, puede usar TIMESTAMPDIFF() función para calcular la edad de una persona (o la edad de cualquier cosa).

TIMESTAMPDIFF() es una función de fecha y hora incorporada que devuelve la diferencia entre dos expresiones de fecha o fecha y hora. Pasando YEAR como primer argumento, la fecha de nacimiento como segundo argumento y la fecha actual como tercero, devolverá la edad en años.

Ejemplo

Aquí hay un ejemplo para demostrarlo:

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

Resultado:

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

Aquí, usamos CURDATE() para devolver la fecha actual.

Ejemplo de base de datos

Aquí hay un ejemplo que devuelve la edad de las mascotas en una base de datos, luego ordena los resultados por edad en orden descendente:

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

Resultado:

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

Las mascotas que tienen menos de un año tienen una edad de 0 .

Donde la columna de la fecha de nacimiento es null , el resultado es null .