MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como calcular a idade no MariaDB


No MariaDB, você pode usar o TIMESTAMPDIFF() função para calcular a idade de uma pessoa (ou a idade de qualquer coisa).

TIMESTAMPDIFF() é uma função de data e hora integrada que retorna a diferença entre duas expressões de data ou data e hora. Passando YEAR como primeiro argumento, data de nascimento como segundo argumento e data atual como terceiro, retornarão a idade em anos.

Exemplo


Segue um exemplo para demonstrar:
SELECT TIMESTAMPDIFF(YEAR, '1985-02-15', CURDATE()) AS Age;

Resultado:
+------+
| Age  |
+------+
|   36 |
+------+

Aqui, usamos CURDATE() para retornar a data atual.

Exemplo de banco de dados


Aqui está um exemplo que retorna a idade dos animais de estimação em um banco de dados e classifica os resultados por idade em ordem decrescente:
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 |
+---------+------------+------------+------+

Animais de estimação com menos de um ano têm idade de 0 .

Onde a coluna de data de nascimento é null , o resultado é null .