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

comparar un intervalo de hora

Estas en el tema de comparar un intervalo de hora en el foro de Mysql en Foros del Web. hola amigos necesito obtener un rango de informacion de una bd entre 2 hrs especificas. INTERVALO: Un dia anterior despues de las 4 y el ...
  #1 (permalink)  
Antiguo 16/07/2008, 17:50
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 17 años, 1 mes
Puntos: 0
comparar un intervalo de hora

hola amigos necesito obtener un rango de informacion de una bd entre 2 hrs especificas.
INTERVALO: Un dia anterior despues de las 4 y el dia actual antes de las 4

Creo que es con between y now(), pero realmente no logro aterrizar la idea, si pudiera alguien ayudarme?

Si necesitan mas informacion haganmelo saber...grax
  #2 (permalink)  
Antiguo 16/07/2008, 23:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: comparar un intervalo de hora

Prueba con esto a ver si consigues lo que quieres:
Código:
SELECT campofecha FROM nombretabla WHERE campofecha 
BETWEEN CONCAT (DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), '%Y-%m-%d'), ' 04:00:01') 
AND CONCAT (DATE_FORMAT(NOW(), '%Y-%m-%d'), ' 03:59:59')

Última edición por jurena; 17/07/2008 a las 07:52
  #3 (permalink)  
Antiguo 17/07/2008, 11:04
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: comparar un intervalo de hora

mira quedo asi, estamos programando desde php, pero no arroja nada :(

Código PHP:
$sql   "SELECT m.id, m.numero_de_guia, m.fecha, m.orden_id, u.user_id, ";
$sql  .= "u.name,  u.address1, u.address2, ";
$sql  .= " u.state_id, u.zip, u.country_id,  u.daytime_phone  ";
$sql  .= "FROM multipack AS m, va_users AS u , va_orders as o ";
$sql  .= "WHERE m.fecha BETWEEN DATE_ADD(NOW(), INTERVAL '-1 8' DAY_HOUR) AND"
$sql  .= "DATE_FORMAT(NOW(), '%Y-%m-%d'), #03:59:59#) by m.fecha";
$sql  .= " AND m.user = u.user_id And m.orden_id = o.order_id"
  #4 (permalink)  
Antiguo 17/07/2008, 12:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: comparar un intervalo de hora

Cita:
Iniciado por noraazzul Ver Mensaje
mira quedo asi, estamos programando desde php, pero no arroja nada :(

$sql .= "WHERE m.fecha BETWEEN DATE_ADD(NOW(), INTERVAL '-1 8' DAY_HOUR) AND";
$sql .= "DATE_FORMAT(NOW(), '%Y-%m-%d'), #03:59:59#) by m.fecha";
Cambiemos algunas cosas
Prueba cambiando tu sintaxis (la parte en rojo) por esta otra que te pondré. No debemos escribir código PHP en este foro. He eliminado los CONCAT, como tú hiciste, porque no son necesarios. El INTERVAL '-1 8' DAY_HOUR que has puesto me hace pensar que realmente la referencia es entre hace un día y ocho horas, y...así te lo pongo:

Cita:
WHERE m.fecha BETWEEN DATE_FORMAT( DATE_ADD( NOW( ) , INTERVAL '-1 8' HOUR) , '%Y-%m-%d %H:%i:%s' ) AND DATE_FORMAT( NOW( ) , '%Y-%m-%d 03:59:59' )";

Debías probar tu consulta antes en MySqL, sin PHP y sus variables y comprobar con cuál obtienes el resultado deseado. Luego, una vez lo has comprobado, lo adaptas a PHP.

Última edición por jurena; 18/07/2008 a las 01:08
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 21:47.