Como calcular idade a partir de uma tabela de data de nascimento (SQL Server 2008R2)
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.
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.
Libio Souza
Curtidas 0
Respostas
Claudio Lopes
29/08/2016
Utilize o datediff ([url:descricao=DATEDIFF (Transact-SQL)]https://msdn.microsoft.com/pt-br/library/ms189794.aspx[/url]
ai você escolhe como quer retornar isso (meses, dias ou anos) Meu conselho é retornar em anos, exemplo
ai você escolhe como quer retornar isso (meses, dias ou anos) Meu conselho é retornar em anos, exemplo
SELECT DATEDIFF(YEAR,'1985-01-19',GETDATE())
GOSTEI 0
Libio Souza
29/08/2016
Muito obrigado, deu certinho to muito feliz
Muito obrigado mesmo.
Consegue entender muito bem sua explicação.
Muito obrigado mesmo.
Consegue entender muito bem sua explicação.
GOSTEI 0
Luiz Santos
29/08/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
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
GOSTEI 0