Calculando a idade diretamento na query
Escrito por
Edgar Serra em 03 de Janeiro de 2010 às 00:01.
Arquivado em MySQL Dicas.
Geralmente usamos a linguagem de programação para calcular a idade de uma pessoa ou de alguma coisa. Mas em alguns casos, como o do MySQL, é possível fazer esse processo diretamente no SGBD.
No caso, para calcular a idade de alguém diretamente no MySQL basta:
DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(data_nascimento,'%Y')-(DATE_FORMAT(NOW(),'00-%m-%d')< DATE_FORMAT(data_nascimento,'00-%m-%d')) AS idade;
Note que o campo a ser usado deve ser de data (date, datetime, etc...), no meu exemplo o campo com a data de nascimento se chamava data_nascimento.
Eu sou muito adepto de fazer o máximo de coisas possíveis diretamente no SGBD, pois assim, quando o resultado retorna para o script, tudo já vem pronto para uso.
Bom, fica ai a dica.