none
Comando do SQL que Retornar o ano em que as pessoas da coluna nome completarão 24 anos . RRS feed

  • Pergunta

  • Ola preciso de um  Comando do SQL que Retornar o ano em que as pessoas da coluna nome completarão 24 anos . so o anoo, se alguem puder ajudar agradeço.
    terça-feira, 13 de maio de 2014 19:24

Respostas

  • lllalala,

    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 Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    terça-feira, 13 de maio de 2014 19:46
    Moderador
  • 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.

    quarta-feira, 21 de maio de 2014 21:29

Todas as Respostas

  • Deleted
    terça-feira, 13 de maio de 2014 19:29
  • lllalala,

    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 Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    terça-feira, 13 de maio de 2014 19:46
    Moderador
  • 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]

    quarta-feira, 21 de maio de 2014 13:12
  • 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.

    quarta-feira, 21 de maio de 2014 21:29