select nome, DATEDIFF(year, current_timestamp , data_de_nascimento) as idade from tabela_de_clientes;
select nome, DATEDIFF(year, current_timestamp , data_de_nascimento) as idade from tabela_de_clientes;
Olá João, Bom dia Tenta alterar a ordem dos componentes
DATEDIFF ( datepart , startdate , enddate )
SELECT NOME, DATEDIFF(year,data_de_nascimento, current_timestamp ) as IDADE FROM TABELA_DE_CLIENTES;
Olá João, tudo bem? Bem, se executar essa query no MySQL ele deve nos retornar o seguinte erro:
Error Code: 1582. Incorrect parameter count in the call to native function 'DATEDIFF'
Isso significa que os parâmetros estão incorretos na chamada da função, e isso é porque essa função DATEDIFF como a própria documentação do MySQL fala "retorna expressão1 - expressão2 expresso como um valor em dias de uma data para a outra. Se expressão1 e ou expressão2 são expressões de data ou data e hora. Somente as partes da data dos valores são usadas no cálculo", portanto não podemos utilizá-la dessa forma. Para isso temos que usar a função TIMESTAMPDIFF que vai nos retornar um valor de tempo, seja de hora ou data e hora.
Espero ter esclarecido sua dúvida!