Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/09/2010, 19:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda con query ?

Todo el planteo es un poco confuso. No se termina de entender qué quieres decir con esto:
Cita:
quiere separar 9:00 a 10:00, mi idea es que traiga si esos datos ya existen y los muestre, pero no se me ocurre ocmo hacerlo
Por lo que parece, estás guardando la hora como un VARCHAR. Si es así, es un error. Las horas no se almacenan como VARCHAR sino como TIME y con TIME las operaciones son más sencillas.
Esto resulta incomprensible:
Cita:
Supongamos que el primer h_inicio guarda este dao 8:00, con str_replace elimino el : y la vuelvo numero entero ... las hora son guardas asi 0:00 a 24:00
En realidad, tal vez no lo sepas, pero el campo TIME no almacena los ":". Esos son una representación creadas por las interfases cuando se determina que el tipo de campo es TIME. A nivel de dato puro, los TIME, DATETIME y DATE son en realidad datos numéricos de doble precisión, y se almacenan como binarios, no como caracteres. Por esa misma razón sólo usan 8 bytes. Son las interfases las que interpretan el dato obtenido como fecha u hora.

Si quieres buscar los datos de inicio y fin que queden entre las 9:00 y las 10:00 y que incluya aquellos casos que terminan más tarde, en lugar de analizar ambos datos, simplemente tomas el primero:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE h_inicio BETWEEN '09:00' AND '10:00';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)