none
datetime selecionar apenas mes e ano (dateformat) RRS feed

  • Pergunta

  • Olá,

    Gostaria de ajuda para selecionar o mes e ano em uma tabela

    Quero somar as quantidades que sejam da mesma Unidade e que sejam do mes de janeiro e ano 2010

     

    Unidade Qnt DtLancamento (yyyy/MM/dd)

    --------------------------
    1    10    2010-01-10 16:15:352
    1    20    2010-01-21 16:15:352
    1    21    2010-02-11 16:15:352
    1    22    2010-02-12 16:15:352
    2    11    2010-01-18 16:15:352
    2    18    2010-01-07 16:15:352
    2    15    2010-01-09 16:15:352
    2    10    2010-02-19 16:15:352
    2     08    2010-03-28 16:15:352

     

    SELECT sum(Qnt) FROM Tabela
    WHERE Unidade = 1 and MES e ANO = 01/2010

    Resultado:

    Qnt
    ------
    30

     

     

    Mes e ano da DtLançamento, compararia pra poder somar.

     

    Abraços

     

     

     

     

     

    • Editado Allen Castro sábado, 8 de maio de 2010 00:53 adicionar informações
    sábado, 8 de maio de 2010 00:51

Respostas

  • SELECT sum(Qnt) FROM Tabela
    WHERE Unidade = 1 and Month(DtLancamento)=1 and Year(DtLancamento)=2010


    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Allen Castro sábado, 8 de maio de 2010 01:43
    sábado, 8 de maio de 2010 01:21
  • Allen, boa noite

    segue mais um exemplo:

    -- Tabela temporária
    declare @t as table 
    (
    Unidade   tinyint, 
    Qnt     int, 
    DtLancamento datetime
    )
    
    -- Populando a tabela
    insert into @t
    select 1 ,10  ,'2010-01-10 16:15:35' union all
    select 1 ,20  ,'2010-01-21 16:15:35' union all
    select 1 ,21  ,'2010-02-11 16:15:35' union all
    select 1 ,22  ,'2010-02-12 16:15:35' union all
    select 2 ,11  ,'2010-01-18 16:15:35' union all
    select 2 ,18  ,'2010-01-07 16:15:35' union all
    select 2 ,15  ,'2010-01-09 16:15:35' union all
    select 2 ,10  ,'2010-02-19 16:15:35' union all
    select 2 ,08  ,'2010-03-28 16:15:35'
    
    
    /* Variável de controle */
    --------------------------------------------------------------
    DECLARE @DtIni DATETIME, 
        @DtFim DATETIME, 
        @CodUnid INT 
    
    SELECT @DtIni = '20100101', 
        @DtFim = '20100131', 
        @CodUnid= 1
    --------------------------------------------------------------
    
    -- select final
    SELECT 
      Unidade, sum(Qnt) as Qnt
    FROM
      @t
    WHERE 	
      Unidade = @CodUnid
    AND	DtLancamento BETWEEN @DtIni AND @DtFim
    GROUP BY 
    	Unidade
    		
    	
    	

     

     


    Se a minha ajuda lhe for útil não esqueça de classificar. Att. Leonardo Marcelino
    sábado, 8 de maio de 2010 01:53

Todas as Respostas

  • SELECT sum(Qnt) FROM Tabela
    WHERE Unidade = 1 and Month(DtLancamento)=1 and Year(DtLancamento)=2010


    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Allen Castro sábado, 8 de maio de 2010 01:43
    sábado, 8 de maio de 2010 01:21
  • Allen, boa noite

    segue mais um exemplo:

    -- Tabela temporária
    declare @t as table 
    (
    Unidade   tinyint, 
    Qnt     int, 
    DtLancamento datetime
    )
    
    -- Populando a tabela
    insert into @t
    select 1 ,10  ,'2010-01-10 16:15:35' union all
    select 1 ,20  ,'2010-01-21 16:15:35' union all
    select 1 ,21  ,'2010-02-11 16:15:35' union all
    select 1 ,22  ,'2010-02-12 16:15:35' union all
    select 2 ,11  ,'2010-01-18 16:15:35' union all
    select 2 ,18  ,'2010-01-07 16:15:35' union all
    select 2 ,15  ,'2010-01-09 16:15:35' union all
    select 2 ,10  ,'2010-02-19 16:15:35' union all
    select 2 ,08  ,'2010-03-28 16:15:35'
    
    
    /* Variável de controle */
    --------------------------------------------------------------
    DECLARE @DtIni DATETIME, 
        @DtFim DATETIME, 
        @CodUnid INT 
    
    SELECT @DtIni = '20100101', 
        @DtFim = '20100131', 
        @CodUnid= 1
    --------------------------------------------------------------
    
    -- select final
    SELECT 
      Unidade, sum(Qnt) as Qnt
    FROM
      @t
    WHERE 	
      Unidade = @CodUnid
    AND	DtLancamento BETWEEN @DtIni AND @DtFim
    GROUP BY 
    	Unidade
    		
    	
    	

     

     


    Se a minha ajuda lhe for útil não esqueça de classificar. Att. Leonardo Marcelino
    sábado, 8 de maio de 2010 01:53
  • Obrigado pelas respostas, quanto mais conhecimento melhor.
    segunda-feira, 10 de maio de 2010 04:01