Estou realizando o tratamento de data. Preciso fazer uma consulta onde com a data de nascimento traga a idade(Isso já conseguir), porém verifiquei que existem data_naciscimento que são maiores que a data atual ex.: Pessoas que nasceram em 2020, aí o calculo traz como negativo, preciso fazer com que seja testado as idades e incluido numa tabela temporária as faixa etárias e que estas idades entrem como 'DATA DE NASCIMENTO ERRADA!', respeitando a seguinte condição da idade:
<12 - grave na tabela como 'CRIANÇA'
>=12 and <18- grave como 'ADOLESCENTE'
>=18 and <30 - grave como 'JOVEM'
>=30 and < 60 - 'ADULTO'
>=60-'IDOSO'
--FUNÇÃO PARA CALCULAR A IDADE BASEADO EM 365 DIAS E 6 HORAS PARA CONSIDERAR A CADA QUATRO ANOS O BISEXTO, ESTÁ FUNCIONANDO
select Codigo_Paciente ,cast((cast((getdate() - Data_Nascimento ) as integer)/365.25)as integer) idade
from [sys_clinicas].[dbo].[Paciente]
--PRECISO COLOCAR ISTO AQUI JÁ TRATADO QUE NO CASO É O CAMPO FAIXA_ETÁRIA DA TABELA TEMPORÁRIA QUE RECEBE O CAMPO DATA_NACIMENTO DA TABELA PACIENTE
--RECEBE OS DADOS TRATADOS NA TABELA TEMPORÁRIA
INSERT INTO #tmp_comando
select Codigo_Paciente,
case Sexo WHEN 'F' THEN 'Feminino'
WHEN 'M' THEN 'Masculino' end,
Data_Nascimento FROM [sYS_CLINICAS].[dbo].[Paciente]
where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <> 0
Pergunta
Jr Aprediz
Estou realizando o tratamento de data. Preciso fazer uma consulta onde com a data de nascimento traga a idade(Isso já conseguir), porém verifiquei que existem data_naciscimento que são maiores que a data atual ex.: Pessoas que nasceram em 2020, aí o calculo traz como negativo, preciso fazer com que seja testado as idades e incluido numa tabela temporária as faixa etárias e que estas idades entrem como 'DATA DE NASCIMENTO ERRADA!', respeitando a seguinte condição da idade:
<12 - grave na tabela como 'CRIANÇA'
>=12 and <18- grave como 'ADOLESCENTE'
>=18 and <30 - grave como 'JOVEM'
>=30 and < 60 - 'ADULTO'
>=60-'IDOSO'
--FUNÇÃO PARA CALCULAR A IDADE BASEADO EM 365 DIAS E 6 HORAS PARA CONSIDERAR A CADA QUATRO ANOS O BISEXTO, ESTÁ FUNCIONANDO
select Codigo_Paciente ,cast((cast((getdate() - Data_Nascimento ) as integer)/365.25)as integer) idade
from [sys_clinicas].[dbo].[Paciente]
--PRECISO COLOCAR ISTO AQUI JÁ TRATADO QUE NO CASO É O CAMPO FAIXA_ETÁRIA DA TABELA TEMPORÁRIA QUE RECEBE O CAMPO DATA_NACIMENTO DA TABELA PACIENTE
--RECEBE OS DADOS TRATADOS NA TABELA TEMPORÁRIA
INSERT INTO #tmp_comando
select Codigo_Paciente,
case Sexo WHEN 'F' THEN 'Feminino'
WHEN 'M' THEN 'Masculino' end,
Data_Nascimento FROM [sYS_CLINICAS].[dbo].[Paciente]
where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <> 0
Espero que tenha ficado claro.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.