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!