Ver Mensaje Individual
  #11 (permalink)  
Antiguo 29/09/2012, 04:13
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: 17 años, 3 meses
Puntos: 2658
Respuesta: between entre dos horas

Tienes un error básico: Las horas se deben almacenar como TIME y su rango es entre 00:00:00 y 23:59:59, por lo que no tiene ningún sentido ni utilidad ponerles AM o PM. No estás usando SQL Server. Como consecuencia, el BETWEEN que pretentes hacer no te funcionará porque no está evaluando las horas de los CONCAT() como horas, sino como cadenas de texto, y deben ser valores escalares.
Para que funcione, debes obtener algo como:
Código MySQL:
Ver original
  1. SELECT idExamen, examen, horafin,ampm, fechaexamen, horaexamen
  2. FROM examen
  3. WHERE idLeccionxNivel = 7
  4.     AND fechaexamen=CURDATE()
  5.     AND CURTIME() BETWEEN '12:00:00' AND '14:00:00'
Desde el punto de vista lógico, esta consulta sólo te devolverá datos si la ejecutas en el horario del examen. SI la haces correr antes o después, no servirá. No te dará registros.

Finalmente: No cuelgues post propios de temas ajenos para hacer preguntas propias, ni aún cuando las preguntas tengan alguna relación. En los foros, eso se considera un acto de falta de cortesía y mala educación.
Corresponde que abras un tema propio.

Tampoco resucites post antiguos. Eso puede hacer que los moderadores te lo cierren y nunca obtengas respuestas (no lo hice porque no modero este foro), ya que viola reglas expresas de las Políticas de Uso.

Saludos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)