Usuário com melhor resposta
Comando do SQL que Retornar o ano em que as pessoas da coluna nome completarão 24 anos .

Pergunta
-
Respostas
-
Utilize a função YEAR com a inclusão de 24 anos utilizando o método DATEADD, caso sua tabela tenha um campo como "data de nascimento". Veja abaixo um exemplo:
SELECT nome, YEAR(DATEADD(yyyy, 24, NASCIMENTO)) AS ANO_ANIVERSARIO FROM TB_PESSOA
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:12
- Marcado como Resposta Durval RamosModerator sábado, 13 de setembro de 2014 00:25
-
Illalala, Pode postar a estrutura da tabela para facilitar. Não sei se entendi bem, mais acredito que seja a instrução abaixo:
select case when cast(datename(yyyy,getdate()) as int) - datename(yyyy,coluna_data) = 24 then datename(yyyy,coluna_data) end as ANO_CLIENTE from tabela
No exemplo acima, irá comparar a data atual com a coluna que consta a data, caso seja igual a 24 anos, irá retornar apenas o ano conforme solicitado, basta informar a tabela e a coluna no select acima. Abaixo segue o mesmo select com variáveis para executar, apenas para verificar o funcionamento:
declare @date datetime set @date = '05/12/1990' select case when cast(datename(yyyy,getdate()) as int) - datename(yyyy,@date) = 24 then 'Idade 24 Anos' end as ANO_CLIENTE
Espero ter ajudado.
- Editado Wender DBA quarta-feira, 21 de maio de 2014 21:35
- Sugerido como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:12
- Marcado como Resposta Durval RamosModerator sábado, 13 de setembro de 2014 00:25
Todas as Respostas
-
-
Utilize a função YEAR com a inclusão de 24 anos utilizando o método DATEADD, caso sua tabela tenha um campo como "data de nascimento". Veja abaixo um exemplo:
SELECT nome, YEAR(DATEADD(yyyy, 24, NASCIMENTO)) AS ANO_ANIVERSARIO FROM TB_PESSOA
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:12
- Marcado como Resposta Durval RamosModerator sábado, 13 de setembro de 2014 00:25
-
Illalala,
Então, mas você quer que retorne somente pessoas que vão completar 24 anos ou somar os 24 anos?
Sinceramente eu fiquei na dúvida.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
-
Illalala, Pode postar a estrutura da tabela para facilitar. Não sei se entendi bem, mais acredito que seja a instrução abaixo:
select case when cast(datename(yyyy,getdate()) as int) - datename(yyyy,coluna_data) = 24 then datename(yyyy,coluna_data) end as ANO_CLIENTE from tabela
No exemplo acima, irá comparar a data atual com a coluna que consta a data, caso seja igual a 24 anos, irá retornar apenas o ano conforme solicitado, basta informar a tabela e a coluna no select acima. Abaixo segue o mesmo select com variáveis para executar, apenas para verificar o funcionamento:
declare @date datetime set @date = '05/12/1990' select case when cast(datename(yyyy,getdate()) as int) - datename(yyyy,@date) = 24 then 'Idade 24 Anos' end as ANO_CLIENTE
Espero ter ajudado.
- Editado Wender DBA quarta-feira, 21 de maio de 2014 21:35
- Sugerido como Resposta Durval RamosModerator sexta-feira, 20 de junho de 2014 02:12
- Marcado como Resposta Durval RamosModerator sábado, 13 de setembro de 2014 00:25