Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/03/2012, 06:23
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
Puntos: 2658
Respuesta: subquery en un like

LIKE opera sobre cadenas de texto, no sobre numeros, mientras que DAYOFWEEK() devuelve un número y NOW() una fecha. Como verás, son contextos totalmente diferentes.
Por otro lado, razóalo así: LIKE significa esencialmente "parecido a..." o "contiene algo como...", y cuando trabajas con números no existen los "parecidos", existen igualdades, desigualdades, rangos, etc. Pero no numeros "parecidos".
Además de esto, hacer una subconsulta para obtener el resultado de una función nativa no aplicada a una tabla... es algo bastante absurdo. Para eso usas directamente la función. ¿No te parece?
Corresponde entonces algo como:
Código MySQL:
Ver original
  1. SELECT horarioID
  2. FROM horario
  3. WHERE DAYOFWEEK(diaDeSemana) = DAYOFWEEK(NOW());
Esto, en tanto diaDeSemana sea una fecha.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)