
Saiba como calcular uma idade no SQL Server.
Recentemente conversando com alguns desenvolvedores em um cliente, eles estavam precisando saber como calcular uma idade no SQL Server.
Fiz alguns testes e encontrei uma forma para calcular e aqui abaixo vou deixar para vocês.
DECLARE @DataNascimento DATETIME = '1991-12-12'
DECLARE @Hoje DATETIME = '2016-12-11 21:00:00' -- exemplo de horário da função GETDATE()
-- funciona corretamente se alterado acima para hora 00:00:00
SELECT FLOOR(DATEDIFF(DAY, @DataNascimento, @Hoje) / 365.25) -- retorna 24, idade correta
SELECT DATEDIFF(HOUR, @DataNascimento, @Hoje) / 8766 -- retorna 25 incorreta
Grande abraço!
Calcular a idade no SQL Server