Usuário com melhor resposta
Intervalo entre horas ( com parâmetro )

Pergunta
-
Bom dia,
Galera, desenvolvi uma procedure que contem um parâmetro @Data, que é a data de entrada, e possuo uma variável que é @DataInicial, a principio o cliente pediu para subtrair um dia da data, mas agora ele estipulou que os registros deveram vir com um intervalo de 24 horas a partir das 06:01 AM do parâmetro @Data até as 06:00 AM do @DataFinal, ou seja colocando o parametro @Data com a seguinte data 06/06/2013 (06:01 AM), ele ira trazer dados até 07/06/2013 (06:00 AM) , alguém poderia me ajudar a pensar em uma solução?
USE [BD] GO /****** Object: StoredProcedure [dbo].[sp_adicao_de_gases] Script Date: 09/06/2013 10:24:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Magdiel Américo -- Create date: 28/08/2013 -- Description: Procedimento -- exec dbo.sp_adicao_de_gases '8/27/2013' -- ============================================= ALTER PROCEDURE [dbo].[sp_adicao_de_gases] @Data DATETIME AS BEGIN DECLARE @DataFinal DATETIME SET @DataFinal = (DATEADD (DAY, -1, @Data))
Respostas
-
Amigo,
Sua pergunta está meio confusa, mas acredito que eu tenha entendido...veja se a solução abaixo lhe ajuda:
SET @DataFinal = (DATEADD (MI, +1, @DataFinal))
Nesse caso ele vai pegar o valor da @DATFINAL e adicionar 1 minuto, se chegar "2013-09-06 11:08:14.750" ele vai adicionar 1 minuto "2013-09-06 11:09:14.750".
Espero ter ajudado e boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio"- Marcado como Resposta USER65466785673453 sexta-feira, 6 de setembro de 2013 14:12
Todas as Respostas
-
Amigo,
Sua pergunta está meio confusa, mas acredito que eu tenha entendido...veja se a solução abaixo lhe ajuda:
SET @DataFinal = (DATEADD (MI, +1, @DataFinal))
Nesse caso ele vai pegar o valor da @DATFINAL e adicionar 1 minuto, se chegar "2013-09-06 11:08:14.750" ele vai adicionar 1 minuto "2013-09-06 11:09:14.750".
Espero ter ajudado e boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio"- Marcado como Resposta USER65466785673453 sexta-feira, 6 de setembro de 2013 14:12
-
Obrigado amigo,
Antes de ver sua resposta eu consegui encontrar a solução, mas obrigado pela resposta. Que é a certa!
Ficou assim o código.
'2/03/2013' -- @Data
SET @DataInicial = (DATEADD (MINUTE, 361, @Data)) SET @DataFinal = (DATEADD (MINUTE, 1439, @DataInicial))
(12 row(s) affected) (56 row(s) affected) Warning: Null value is eliminated by an aggregate or other SET operation. (3 row(s) affected) Feb 3 2013 6:01AM Feb 4 2013 6:00AM
- Editado USER65466785673453 sexta-feira, 6 de setembro de 2013 14:14 Esqueci o Parâmetro