Amigos,bom dia,aqui estou eu e com uma duvida,e mais uma vez referente a datas,
existe um registro no banco de dados assim :
Onde a máquina tem o inicio em 20/09/2011;
e a máquina tem o final em 21/09/2011
use [BD_PRINCIPAL_MES]
--Datas (início e final)
declare @DT_I as DateTime
declare @DT_F as Datetime
--Horas-------------------
declare @HR0 as datetime
declare @HR6 as datetime
declare @HR14 as datetime
declare @HR22 as datetime
declare @HR599 as datetime
declare @HR1399 as datetime
declare @HR2199 as datetime
declare @HR2399 as datetime
--Parametros---------------
set @DT_I = '20110920'
set @DT_F = '20110921'
set @HR0 = '00:00:00'
set @HR6 = '06:00:00'
set @HR14 = '14:00:00'
set @HR22 = '22:00:00'
set @HR599 = '05:59:59'
set @HR1399 = '13:59:59'
set @HR2199 = '21:59:59'
set @HR2399 = '23:59:59'
Passei primeiramente uns parametros e abaixo fiz o corpo da consulta :
SELECT ID_MAQUINA_PARADAS,DT_INICIO ,DT_FIM
,CONVERT(VARCHAR(19),DT_INICIO,103) AS DT_INI
,CONVERT(VARCHAR(19),DT_INICIO,108) AS HRA_INI
,CONVERT(VARCHAR(19),DT_FIM,103) AS DT_FIN
,CONVERT(VARCHAR(19),DT_FIM,108) AS HR_FIN
,DATEDIFF(MINUTE,DT_INICIO,DT_FIM) AS TMIN FROM SPI_TB_MAQUINA_PARADAS
WHERE (ID_MAQUINA_PARADAS = 449935) and DT_INICIO >= @DT_I and DT_FIM <= @DT_F
Com a consulta acima,não obtenho resultados,
mas com o codigo abaixo apenas utilizando como parametro
SELECT ID_MAQUINA_PARADAS,DT_INICIO ,DT_FIM
,CONVERT(VARCHAR(19),DT_INICIO,103) AS DT_INI
,CONVERT(VARCHAR(19),DT_INICIO,108) AS HRA_INI
,CONVERT(VARCHAR(19),DT_FIM,103) AS DT_FIN
,CONVERT(VARCHAR(19),DT_FIM,108) AS HR_FIN
,DATEDIFF(MINUTE,DT_INICIO,DT_FIM) AS TMIN FROM SPI_TB_MAQUINA_PARADAS
WHERE (ID_MAQUINA_PARADAS = 449935) and DT_INICIO >= @DT_I
Quando rodo a consulta acima,tenho um resultado que é justamente o que estou procurando.
O Grande x da questão,o que eu fiz de errado na primeira consulta para não obter resultados,afinal eu declarei a
DT_F com a data que eu queria,ou eu declarei errado?
Obrigado mais uma vez a ajuda de todos,consultas com datas é o que ando apanhando mais ultimamente,rs.
A minha meta nessa consulta era utilizar um range,que a data inicial seja maior ou igual a DT_I, and , data final seja menor ou igual DT_F.
Question
Rafael Gazzatte
Amigos,bom dia,aqui estou eu e com uma duvida,e mais uma vez referente a datas,
existe um registro no banco de dados assim :
Onde a máquina tem o inicio em 20/09/2011;
e a máquina tem o final em 21/09/2011
Passei primeiramente uns parametros e abaixo fiz o corpo da consulta : Com a consulta acima,não obtenho resultados, mas com o codigo abaixo apenas utilizando como parametroQuando rodo a consulta acima,tenho um resultado que é justamente o que estou procurando.
O Grande x da questão,o que eu fiz de errado na primeira consulta para não obter resultados,afinal eu declarei a
DT_F com a data que eu queria,ou eu declarei errado?
Obrigado mais uma vez a ajuda de todos,consultas com datas é o que ando apanhando mais ultimamente,rs.
A minha meta nessa consulta era utilizar um range,que a data inicial seja maior ou igual a DT_I, and , data final seja menor ou igual DT_F.
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.