Array
(
)

Como calcular idade a partir de uma tabela de data de nascimento (SQL Server 2008R2)

Libio Souza
   - 29 ago 2016

Boa tarde galera,
Estou montando um consulta SQL aonde preciso informa a idade dos pacientes, no entanto so tenho uma coluna com a data de nascimento deles. vi algumas formas de montar no google porem não consigue entender bem como fazer. alguem poderia me dar alguns exemplos de como fazer usando esta tabela de data de nascimento.
Obrigado.

Din
|
MVP
Pontos: 45
    29 ago 2016

Utilize o datediff (DATEDIFF (Transact-SQL)

ai você escolhe como quer retornar isso (meses, dias ou anos) Meu conselho é retornar em anos, exemplo

#Código

SELECT DATEDIFF(YEAR,'1985-01-19',GETDATE())

Libio Souza
   - 06 set 2016

Muito obrigado, deu certinho to muito feliz
Muito obrigado mesmo.
Consegue entender muito bem sua explicação.

Luiz Santos
|
MVP
Pontos: 780
    06 set 2016

Libio, boa tarde.
Cuidado ao usar a forma que o Din passou.
Não que esteja errada, mas ela não vai te dar a idade exata.
Quando você faz um DateDiff por ano, o banco simplesmente subtrai um ano do outro.
A forma mais certa seria pegar a diferença em meses, e dividir o valor por 12.

Execute os 2 exemplos abaixo e veja a diferença.

#Código

SELECT DATEDIFF(YEAR,'1985-10-19',GETDATE())

SELECT DATEDIFF(MONTH,'1985-10-19',GETDATE())/12