Usuário com melhor resposta
datetime selecionar apenas mes e ano (dateformat)

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:352SELECT sum(Qnt) FROM Tabela
WHERE Unidade = 1 and MES e ANO = 01/2010Resultado:
Qnt
------
30Mes 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
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
-
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- Marcado como Resposta Gustavo Maia Aguiar segunda-feira, 10 de maio de 2010 11:11
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
-
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- Marcado como Resposta Gustavo Maia Aguiar segunda-feira, 10 de maio de 2010 11:11
-