Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

select entre rango de horas

Estas en el tema de select entre rango de horas en el foro de SQL Server en Foros del Web. Hola a todos, tengo un duda Como podría hacer para seleccionar de una tabla los registros que esten entre un rango de horas, por ejemplo ...
  #1 (permalink)  
Antiguo 08/04/2014, 16:03
Avatar de jean2510  
Fecha de Ingreso: diciembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta select entre rango de horas

Hola a todos, tengo un duda

Como podría hacer para seleccionar de una tabla los registros que esten entre un rango de horas, por ejemplo entre las 09:20:00.000 y las 09:40:00.000

Ojo que importan has los milesegundos, el campo del que seleciono es un datetime.

Trate con este codigo, pero no funciona

Código SQL:
Ver original
  1. DECLARE @HINI DATETIME
  2. DECLARE @HFIN DATETIME
  3. SET @HINI='2014-04-08 09:20:00.000'
  4. SET @HFIN=DATEADD(MINUTE,20,@HINI)
  5.  
  6.  
  7. SELECT  * FROM mllgnop
  8. WHERE (hora>=@HINI AND
  9. hora<@HFIN)

Última edición por gnzsoloyo; 08/04/2014 a las 16:16
  #2 (permalink)  
Antiguo 08/04/2014, 17:15
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: select entre rango de horas

Y si usa un between en la consulta ??

Código SQL:
Ver original
  1. SELECT campos FROM tu tabla WHERE hora BETWEEN '2014-04-08 09:20:00.00' AND '2014-04-08 09:40:00.00'
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 08/04/2014, 17:17
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: select entre rango de horas

Cita:
Iniciado por jean2510 Ver Mensaje
Hola a todos, tengo un duda

Como podría hacer para seleccionar de una tabla los registros que esten entre un rango de horas, por ejemplo entre las 09:20:00.000 y las 09:40:00.000

Ojo que importan has los milesegundos, el campo del que seleciono es un datetime.

Trate con este codigo, pero no funciona

Código SQL:
Ver original
  1. DECLARE @HINI DATETIME
  2. DECLARE @HFIN DATETIME
  3. SET @HINI='2014-04-08 09:20:00.000'
  4. SET @HFIN=DATEADD(MINUTE,20,@HINI)
  5.  
  6.  
  7. SELECT  * FROM mllgnop
  8. WHERE (hora>=@HINI AND
  9. hora<@HFIN)

Hola jean2510, probá con la esta query que realiza lo que pedis:

Código SQL:
Ver original
  1. DECLARE @HINI DATETIME
  2. DECLARE @HFIN DATETIME
  3. SET @HINI='2014-04-08 09:20:00.000'
  4. SET @HFIN=DATEADD(MINUTE,20,@HINI)
  5.  
  6.  
  7. SELECT  * FROM mllgnop
  8. WHERE (hora BETWEEN @HINI AND @HFIN)

Saludos

damimg
  #4 (permalink)  
Antiguo 08/04/2014, 17:24
Avatar de jean2510  
Fecha de Ingreso: diciembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: select entre rango de horas

Olvide mencionar que ya probe con betweem tambien, y tampoco funciona. No considera la parte de la hora, solo la parte de fecha
  #5 (permalink)  
Antiguo 08/04/2014, 17:57
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: select entre rango de horas

Cita:
Iniciado por jean2510 Ver Mensaje
Olvide mencionar que ya probe con betweem tambien, y tampoco funciona. No considera la parte de la hora, solo la parte de fecha
Considera el datetime en su totalidad (fecha+hora). Algo estarás evaluando mal o tus datos no son los que expones
  #6 (permalink)  
Antiguo 08/04/2014, 21:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: select entre rango de horas

estas almacenando los datos en formato datetime en tu tabla? podrias poner un ejemplo de tus datos??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 09/04/2014, 08:24
Avatar de jean2510  
Fecha de Ingreso: diciembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: select entre rango de horas

Cita:
Iniciado por Libras Ver Mensaje
estas almacenando los datos en formato datetime en tu tabla? podrias poner un ejemplo de tus datos??
Si en formato datetime, ejemplo de datos:

Código:
2014-04-08 10:22:33.920
2014-04-08 12:06:39.200
2014-04-08 12:06:40.200
2014-04-08 12:40:03.200
2014-04-08 12:20:39.200
2014-04-08 12:19:00.100
2014-04-08 12:19:59.200
2014-04-08 12:39:59.100
2014-04-08 12:06:39.200
2014-04-08 12:06:39.200
2014-04-08 12:06:39.200
2014-04-07 11:23:51.390
  #8 (permalink)  
Antiguo 09/04/2014, 08:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: select entre rango de horas

tomando tus datos podemos llegar a esta solucion:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. fecha datetime
  4. )
  5.  
  6. INSERT INTO #temp VALUES ('2014-04-08 10:22:33.920')
  7. INSERT INTO #temp VALUES ('2014-04-08 12:06:39.200')
  8. INSERT INTO #temp VALUES ('2014-04-08 12:06:40.200')
  9. INSERT INTO #temp VALUES ('2014-04-08 12:40:03.200')
  10. INSERT INTO #temp VALUES ('2014-04-08 12:20:39.200')
  11. INSERT INTO #temp VALUES ('2014-04-08 12:19:00.100')
  12. INSERT INTO #temp VALUES ('2014-04-08 12:19:59.200')
  13. INSERT INTO #temp VALUES ('2014-04-08 12:39:59.100')
  14. INSERT INTO #temp VALUES ('2014-04-08 12:06:39.200')
  15. INSERT INTO #temp VALUES ('2014-04-08 12:06:39.200')
  16. INSERT INTO #temp VALUES ('2014-04-08 12:06:39.200')
  17. INSERT INTO #temp VALUES ('2014-04-07 11:23:51.390')
  18.  
  19. DECLARE @HINI DATETIME
  20. DECLARE @HFIN DATETIME
  21. SET @HINI='2014-04-08 12:00:00.000'
  22. SET @HFIN=DATEADD(MINUTE,40,@HINI)
  23.  
  24. SELECT  * FROM #temp
  25. WHERE fecha BETWEEN @HINI AND @hfin

si observas solo muestra las fechas comprendidas entre las 12:00 y 12:40, ahora, que manejador de base de datos estas usando??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 09/04/2014, 08:43
Avatar de jean2510  
Fecha de Ingreso: diciembre-2011
Mensajes: 9
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: select entre rango de horas

SQL server 2005, por que entonces no funciona si planteas un select identico al mio :S
  #10 (permalink)  
Antiguo 09/04/2014, 09:05
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: select entre rango de horas

puedes poner el query que estas usando, o mejor puedes poner el query que estas usando adaptandolo a la tabla temporal que te muestro???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, horas, rango, registros, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:21.