Cita:
Iniciado por hottiecool
ponte yo tengo un curso del 25 03 al 30 03 de lunes a martes en la sala 1 con horario 1
suponte que quiera abrir otra cohorte de x curso que comienza el 27 03 al 01 04
en la misma sala 1 y con el horario 1
el between me va a permitir agregar la secci[on porque el regitro esta en el 25 mas en el 27 no hay nada registrado
no se si me captas
y lo mismo pasa con los < >=
Yo lo entiendo, pero parece que no conoces de lógica proposicional. El caso que planteas queda incluido en el primer BETWEEN que te planteo, porque se evalúa cada una de las opciones separadamente, y si al menos una (eso es el OR) se cumple, todo es TRUE.
Para mayor claridad: Si ya tienes registrado un curso entre el 25/03 y el 01/04, no puedes poner uno que comience el 27/03 porque esa fecha está justo entre las otras dos. La idea es que si la consulta vuelve con datos, es porque ese curso coincide con alguno, y no puede registrarse. Quitales los NOT, y la logica se invierte.

¿Entiendes a qué me refiero cuando hablo de "lógica inversa"? Es cuando en lugar de buscar lo que se cumple, descartas todo lo que no se cumple, por ejemplo. Por definción, cuando niegas todo lo verdadero, lo que resta es falso (y viceversa).
Por cierto, BETWEEN determina rangos de entorno cerrado, por lo que si pones BETWEEN 1 AND 30, el 1 y el 30 están incluidos... En ese contexto, en tu ejemplo, sólo podrías registrar el curso si el nuevo curso comienza el 01/04.