Data dinâmica?
12/03/2008
0
[b:2b61dfe36f]obs.: estou usando o convert e datetime porque busco de um campo que tem data e hora juntos e eu desejo pegar apenas a data para fazer as comparações[/b:2b61dfe36f]
convert(datetime,´01/02/2008´,103) AND convert(datetime,´29/02/2008´,103)
coloco ela numa condição where para o codigo fazer a busca nessa data determinada, so que é o seguinte, dessa forma o código esta estático, eu sempre vou ter que mecher para buscar o mês anterior, explico melhor!
Eu preciso que sempre que entrar no mês exemplo: saimos de fevereiro e agora estamos em março, este codigo deveria automaticamente pegar de 01/02 ate 29/02 sem que eu va lá e mude.
Estamos em março, quando for abril eu gostaria que automaticamente ele pegasse 01/03 ate 31/03 sem que eu mude.
Alguém pode me ajudar?
Espero ter sido claro.... :p
valeu!
Ricardonp
Posts
12/03/2008
Edu2099
declare @d1 datetime declare @d2 datetime select @d1 = convert(datetime, left(convert(varchar, dateadd(MM, -1, getdate()), 112), 6) + ´01´) select @d2 = dateadd(SS, -1, convert(datetime, left(convert(varchar, getdate(), 112), 6) + ´01´)) select getdate(), @d1 d_inicio, @d2 d_fim
Se não puder, dá pra usar direto na query:
select getdate(), convert(datetime, left(convert(varchar, dateadd(MM, -1, getdate()), 112), 6) + ´01´) d_inicio, dateadd(SS, -1, convert(datetime, left(convert(varchar, getdate(), 112), 6) + ´01´)) d_fim
12/03/2008
Ricardonp
SELECT "TipoTarefa", ´Fora do Prazo de Solução´ as Tipo, count("TipoTarefa")qtd FROM vw_tarefas Where "TempoSoluçãoTarefaExpirado" = ´Sim´ and "TipoTarefa" = ´Agentes Externos´ and "PrazoSoluçãoTarefa" BETWEEN convert(datetime,´01/02/2008´,103) AND convert(datetime,´01/03/2008´,103) Group by "TipoTarefa"
Como que eu encaicho esse seu código nele?
eu não preciso mostrar as datas, eu preciso mostrar as tarefas de Agentes Externos que estão fora do prazo de solução.
12/03/2008
Ricardonp
o seu codigo é d++++
valeu mesmo!!!!
obrigado!!!![/b:da8268a7b2]
13/03/2008
Emerson Nascimento
SELECT "TipoTarefa", ´Fora do Prazo de Solução´ as Tipo, count("TipoTarefa") qtd FROM vw_tarefas Where "TempoSoluçãoTarefaExpirado" = ´Sim´ and "TipoTarefa" = ´Agentes Externos´ and Month("PrazoSoluçãoTarefa") = Month(Getdate()) Group by "TipoTarefa"
note que foi somente avaliar o mês que o problema foi resolvido.
13/03/2008
Emerson Nascimento
SELECT "TipoTarefa", ´Fora do Prazo de Solução´ as Tipo, count("TipoTarefa") qtd FROM vw_tarefas Where "TempoSoluçãoTarefaExpirado" = ´Sim´ and "TipoTarefa" = ´Agentes Externos´ and Year("PrazoSoluçãoTarefa") = Year(Getdate()) and Month("PrazoSoluçãoTarefa") = Month(Getdate()) Group by "TipoTarefa"
20/03/2008
Edu2099
Usar as funções month e year funcionam, mas o problema é que, pelo fato de serem justamente funções, o índice não funcionará. Provavelmente o banco fará um table scan.
Para garantir o uso do índice, o ideal é jogar as datas início e fim para variáveis e então compará-las na query.
Clique aqui para fazer login e interagir na Comunidade :)