Quantidade de Dias no Mes
18/09/2012
0
Exemplo:
CounaData
2012-08-23 16:10:00.927
2012-08-23 16:13:41.487
2012-08-23 16:21:39.297
2012-09-03 14:42:51.490
2012-09-03 14:43:33.623
2012-09-03 14:44:27.633
2012-09-03 14:45:10.080
O mês 8 tem 3 dias, e o mês 9 tem 4 dias.
Como busco isso em uma query
Max
Posts
18/09/2012
Alex Lekao
Acredito que no forum ja tenha alguma coisa deste tipo, mas voce podera usar o DateDiff se nao me engano.
Voce ira colocar Datediff(dd,datainicial,datafinal).
Exemplo: Select datediff(dd,'2011/05/01','2011/05/31').
Verifica se é isso que voce quer.
Abraco.
18/09/2012
Max
Então, eu quero a quantidade de dias de um determinado mês.
18/09/2012
Bruno Leandro
select sum(1),DATEPART(year, CounaData) + DATEPART(month, CounaData)
from tabela
group by DATEPART(year, CounaData) + DATEPART(month, CounaData)
18/09/2012
Alex Lekao
Acredito que no forum ja tenha alguma coisa deste tipo, mas voce podera usar o DateDiff se nao me engano.
Voce ira colocar Datediff(dd,datainicial,datafinal).
Exemplo: Select datediff(dd,'2011/05/01','2011/05/31')+1.
Verifica se é isso que voce quer.
Abraco.
18/09/2012
Alex Lekao
É isso mesmo maxuel ele pega uma quantidade de dias entre duas datas, por isso no segundo codigo eu coloquei um "+1" para que considerasse o dia 01 tambem no calculo.
O que vc quer entar eh dentro de um periodo apresentar a quantidade de dias acumulado por mes?
Confesso que nao estou entendendo muito bem o que esta precisando.
Abraco.
18/09/2012
Max
Coluna
Data_Trabalho
2012-08-31 15:45:26.153
2012-08-31 15:48:18.757
2012-08-31 15:58:33.790
2012-08-31 16:01:52.743
2012-09-03 10:14:16.307
2012-09-03 10:33:50.120
2012-09-03 10:34:56.047
2012-09-03 10:38:05.143
2012-09-03 10:38:27.310
Resultado
Qtde_dias Mes
4 8
5 9
Não sei se deu pra entender melhor.
18/09/2012
Bruno Leandro
18/09/2012
Alex Lekao
Entao vc vai agrupar isso baseado em algum funcionario, coisa do tipo?
Estou tentando montar algo com aquilo que foi sugerido pelo Bruno mas nao deu muito certo.
To vendo alguma coisa para ver se consigo te ajudar.
Abraco.
18/09/2012
Max
SELECT SUM(1), DATEPART(YEAR,DaTa_Trabalho) + DATEPART(MONTH,DaTa_Trabalho) FROM TB_SGA_TABULACAO group by DATEPART(YEAR,DaTa_Trabalho) + DATEPART(MONTH,DaTa_Trabalho)
mas o resultado foi
----------- ----------- 65 2020 62 2021 (2 row(s) affected)
18/09/2012
Max
Não estou agrupando por nada. Tenho que ter um resultado quem me mostre que no no mês 9 eu teve 5 dias, no mes 8 tive 4 dias.
18/09/2012
Bruno Leandro
SELECT SUM(1), CAST(DATEPART(YEAR,DaTa_Trabalho) as varchar(4)) + CAST(DATEPART(MONTH,DaTa_Trabalho) as varchar(2))
FROM TB_SGA_TABULACAO
group by CAST(DATEPART(YEAR,DaTa_Trabalho) as varchar(4)) + CAST(DATEPART(MONTH,DaTa_Trabalho) as varchar(2))
18/09/2012
Alex Lekao
select
datediff(dd,MIN(datemi),max(datemi))+1,
DATEPART(MM,datemi),
DATEPART(YYYY,datemi)
from REQVDA
where datemi between '01.01.2012' and '31.07.2012'
group by DATEPART(MM,datemi),DATEPART(YYYY,datemi)
Abraco.
18/09/2012
Alex Lekao
Desculpae mas na sugestao esta os campos do meu banco aqui, ficava mais facil para mim... rsrsr ;-.)
Ai ficaria assim:
SELECT
DATEDIFF(DD,MIN(DATEMI),MAX(DATEMI))+1,
CAST(DATEPART(MM,DATEMI) AS VARCHAR(2))+'/'+CAST(DATEPART(YYYY,DATEMI) AS VARCHAR(4))
from REQVDA
WHERE DATEMI BETWEEN '01.01.2012' AND '31.07.2012'
GROUP by DATEPART(MM,DATEMI),DATEPART(YYYY,DATEMI)
ORDER BY DATEPART(MM,DATEMI),DATEPART(YYYY,DATEMI)
Clique aqui para fazer login e interagir na Comunidade :)