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

Consultar de acuerdo a dos valores date y time

Estas en el tema de Consultar de acuerdo a dos valores date y time en el foro de Mysql en Foros del Web. Tengo un problemita, quisiera hacer una cosulta a una BD en la cual tengo una tabla donde almaceno mensajes, dicha tabla tiene un campo llamado ...
  #1 (permalink)  
Antiguo 01/06/2009, 14:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 14 años, 11 meses
Puntos: 0
Consultar de acuerdo a dos valores date y time

Tengo un problemita, quisiera hacer una cosulta a una BD en la cual tengo una tabla donde almaceno mensajes, dicha tabla tiene un campo llamado "fecha" (de tipo DATE) y otro llamado "hora"(de tipo TIME), los cuales me almacenan los datos de la fecha y hora en que llegan los mensajes; el problema es que estoy haciendo un script de consulta en el que el usuario puede buscar los mensajes que estan entre cierta fecha-hora, nombre y prioridad del mensaje, pero no se como hacer la consulta de entre fecha-hora y fecha-hora, podría alguién ayudarme por favor. Aquí pongo lo que llevo, ya me muestra lo de Nombre y Prioridad, pero no se como ponerle que me consulta entre las fechas y horas recibidas...

Cita:
SELECT seq,nombre,prioridad,fecha,hora,idlog,fuente,ifuen te,idestino,destino FROM logsfg WHERE nombre='$nombre' AND prioridad='$prioridad' ORDER BY $orderby"
Se supone que el usuario va decir entre que fecha y hora y otra fecha y hora para determinar que mensajes consultar, yo lo manejé como fecha1, hora1, fecha2 y hora2.
  #2 (permalink)  
Antiguo 01/06/2009, 14:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consultar de acuerdo a dos valores date y time

Tu consulta no parece tener validaciones para seleccionar los mensajes entre 2 fechas. No veo por ningun lado el uso de between o comparación de fechas.

Pruebalo así:

Código mysql:
Ver original
  1. select *from logsfg
  2. where concat(fecha," ",hora) between
  3. concat('2009-01-04'," ",'02:00:00') and
  4. concat('2009-06-30'," ",'12:00:00');

si tienes mas validaciones, puedes ponerlas antes del between.

Entendí que necesitas algo así.

Nos cuentas como te va.
Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 01/06/2009, 23:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta Respuesta: Consultar de acuerdo a dos valores date y time

Que tal huesos52, precisamente por eso puse este post por que no sabia como hacer eso, verifique la consulta agregando las otras condiciones y me quedo como muestro, funcionó correctamente, gracias.

Código:
   
      SELECT *FROM logsfg 

     WHERE nombre='algun_nombre' AND prioridad='alguna_prioridad' 

     AND CONCAT(fecha," ",hora) BETWEEN
  
      CONCAT('2009-01-04'," ",'02:00:00') AND
   
      CONCAT('2009-06-30'," ",'12:00:00') 
      
      ORDER BY algunacolumna;

Última edición por axel_ito; 01/06/2009 a las 23:59
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 15:35.