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

Consultar datos por fecha

Estas en el tema de Consultar datos por fecha en el foro de SQL Server en Foros del Web. Hola tengo un problema con mi consulta, le pido datos de este mes pero me manda datos desde el mes de JULIO para aca, mi ...
  #1 (permalink)  
Antiguo 26/10/2010, 15:55
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Consultar datos por fecha

Hola tengo un problema con mi consulta, le pido datos de este mes pero me manda datos desde el mes de JULIO para aca, mi query es:
Código SQL:
Ver original
  1. SELECT peso,codoptima,fecha,hora FROM pesos WHERE fecha BETWEEN '2010-10-21' AND '2010-10-22'
  2. AND codoptima=91
  3. OR codoptima=93
  4. OR codoptima=95
  5. OR codoptima=82
  6. OR codoptima=87
  7. OR codoptima=86
  8. OR codoptima=84
  9.   ORDER BY fecha
ya probe con fecha >= y lo mismo pasa
Saludos
  #2 (permalink)  
Antiguo 26/10/2010, 16:32
 
Fecha de Ingreso: octubre-2004
Mensajes: 251
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Consultar datos por fecha

prueba con '2010/10/21' de lo contrario prueba con convert(datetime, '2010-10-21')
__________________
www.lomasnuevo.net
  #3 (permalink)  
Antiguo 26/10/2010, 16:48
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: Consultar datos por fecha

Debes utilizar SIEMPRE codificacion ANSI para las fechas (yyyymmddd)

Código SQL:
Ver original
  1. WHERE fecha >= '2010-10-21' AND fecha <= '2010-10-22'
  2. AND (codoptima = 91 OR
  3. codoptima = 93 OR
  4. codoptima = 95 OR
  5. codoptima = 82 OR .......)
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 26/10/2010, 16:54
Avatar de Inicia  
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Consultar datos por fecha

Yo a veces tengo el mismo problema solo le quito los guiones, espacios, o diagonales en las fechas y con eso obtengo el dato =) saludos!
  #5 (permalink)  
Antiguo 27/10/2010, 09:25
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consultar datos por fecha

Creo que el problema no está con las fechas, sino con los operadores OR y AND debido a que no colocas ningún paréntesis. Si checas la Prioridad de los operadores de puedes dar cuenta que el operador AND se ejecuta antes que el OR. Con la consulta que tienes:

Código:
SELECT peso,codoptima,fecha,hora FROM pesos WHERE fecha BETWEEN '2010-10-21' AND '2010-10-22'
AND codoptima=91
OR codoptima=93
OR codoptima=95
OR codoptima=82
OR codoptima=87
OR codoptima=86
OR codoptima=84
ORDER BY fecha
Sería algo así como "todos los registros en que la fecha esté entre el rango y que tenga el codoptima = 91 o aquellos que tengan codoptima igual a 93,95,82,87,86,84 sin importar la fecha de registro"

La opción que te dio el compañero Iislas es correcta, observa que coloca los paréntesis para agrupar todas las condiciones OR. sólo le faltó comentar la parte de utilizar >= y <= en lugar de BETWEEN que es debido a las MEJORES PRÁCTICAS DE SQL.

Saludos
Leo.

Etiquetas: consultar, fechas
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 14:34.