Cita:
Iniciado por juzapt
Gracias por responder...
las horas se ingresan por separado, el usuario las elige y el formato es 'hh:mm:ss' , la consulta me debe retornar todos los registros con los que las fechas ingresadas tienen conflicto. Por ejemplo:
tengo un registro con hora inicial 10 y hora final 16
otro con hora inicial 8 y hora final 10
y deseo ingresar un registro que tenga:
hora inicial 9 y hora final 11
entonces se debe retornar los dos registros que se cruzan con el.
si tienes campohorainicio, campohorafin, y en el formulario introduces horainicio y horafin
La lógica es la siguiente:
Si horainicio es mayor o igual que campohorainicio, horainicio debe ser también menor o igual que campohorafin; si horainicio es menor o igual que campohorainicio, horafin debe ser igual o mayor que campohorainicio
select * from tabla where (horainicio<= campofechainicio AND horafin>= campofechainicio) OR (horainicio>= campofechainicio AND horainicio<= campofechafin)
Con datos absolutos:
select * from tabla where (09:00:00 <= campofechainicio AND 11:00:00 >= campofechainicio) OR (09:00:00>= campofechainicio AND 09:00:00 <= campofechafin)
No he hecho comprobaciones, pero esa es la lógica, creo.