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

Select con fechas

Estas en el tema de Select con fechas en el foro de SQL Server en Foros del Web. Muy buenas a todos, estoy intentando hacer una consulta en sql server que me devuelva todo lo que ha echo un usuario el día de ...
  #1 (permalink)  
Antiguo 13/06/2011, 05:31
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
Select con fechas

Muy buenas a todos, estoy intentando hacer una consulta en sql server que me devuelva todo lo que ha echo un usuario el día de hoy, he probado con varias opciones pero no logro sacar los datos que me interesan. La consulta que uso es:

SELECT *
FROM usuarios
where fecha = convert(datetime,getdate(),121)

La tabla seria la siguiente:
TABLE [dbo].[Usuarios](
[Fecha] [datetime] NOT NULL,
[Origen] [char](5) NOT NULL,
[Destino] [char](5) NOT NULL,
[Lugar] [varchar](255) NOT NULL

La verdad que me estoy volviendo loco en una cosa tan basica que no logro hacer funcinar. Gracias de antemano por las respuestas.
  #2 (permalink)  
Antiguo 13/06/2011, 05:53
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Select con fechas

¿Que error te da? ¿Se lanza la query? ¿Que datos trae que no debería traer? ¿Que datos no trae que debería traer?
  #3 (permalink)  
Antiguo 13/06/2011, 07:35
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 con fechas

Prueba con esto:


Código SQL:
Ver original
  1. SELECT *
  2. FROM usuarios
  3. WHERE fecha=CONVERT(VARCHAR(8), GETDATE(), 1)

Lo que veo es que con el formato que estas usando te regresa la fecha larga, ejecutando las 2 consultas la que tienes y la que te recomiendo los resultados son estos:

Mi formato Tur formato
06/13/11 2011-06-13 09:34:22.557


Si te fijas bien en el formato que usas la fecha es con minutos por lo que no te regresaria todos los registros de un dia :)

Saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 13/06/2011, 08:12
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Select con fechas

Gracias por la respuesta,

Heimish2000 la select que he puesto en el primer post funciona pero no me devuelve ningún resultado, por lo que me imagino que el convert no esta devolviendo el tipo de datos correcto.

Libras tu select me devuelve,
Mens. 242, Nivel 16, Estado 3, Línea 1
La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.

Comentar que estoy usando sql server 2008
  #5 (permalink)  
Antiguo 13/06/2011, 08:24
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 con fechas

Un ejemplo del formato de fechas que estas guardando en tus tablas??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 13/06/2011, 08:32
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Select con fechas

Este por ejemplo,

Fecha Origen Destino Lugar
2011-02-05 20:15:43.000 USUARIO ROOT HOLA MUNDO
  #7 (permalink)  
Antiguo 13/06/2011, 08:44
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 con fechas

Prueba con esto:

Código SQL:
Ver original
  1. SELECT * FROM usuarios WHERE CONVERT(VARCHAR(8),fecha,1)=CONVERT(VARCHAR(8),fecha,1)

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 13/06/2011, 08:50
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Select con fechas

Bingoooo¡¡¡¡

Pero una cosa si haces la select tal cual lo has puesto tu me saca todos los datos de la tabla, así que lo he modificado para que saque solo los de hoy

Código:
SELECT * FROM usuarios WHERE CONVERT(VARCHAR(10),fecha,1)=CONVERT(VARCHAR(10),getdate(),1)
Michisimas gracias por la ayuda, así da gusto...

Última edición por shasho; 13/06/2011 a las 08:52 Razón: agradecimiento
  #9 (permalink)  
Antiguo 13/06/2011, 08: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 con fechas

Cita:
Iniciado por shasho Ver Mensaje
Bingoooo¡¡¡¡

Pero una cosa si haces la select tal cual lo has puesto tu me saca todos los datos de la tabla, así que lo he modificado para que saque solo los de hoy

Código:
SELECT * FROM usuarios WHERE CONVERT(VARCHAR(10),fecha,1)=CONVERT(VARCHAR(10),getdate(),1)
Michisimas gracias por la ayuda, así da gusto...
jejeje tienes mucha razon no acomode bien el select para un dia jejeje, me da gusto que se haya resuelto tu problema :)

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 13/06/2011 a las 09:07 Razón: Horror de Ortografia jejeje
  #10 (permalink)  
Antiguo 13/06/2011, 10:14
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Select con fechas

Si haces CONVERT sobre tu campo fecha y este es INDICE, olvida que tu plan de ejecucion utilice dichos indices.
__________________
MCTS Isaias Islas

Etiquetas: fechas, select
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 16:06.