Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/08/2010, 07:28
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: Comparar campo DATETIME de la tabla con fecha actual

Ese detalle ya te lo indiqué en el post:
Cita:
No tiene sentido compararlos como datetime porque el DATETIME incluye los segundos y eso hará que sea TRUE con sólo un segundo de diferencia...
El tema es que carece de sentido hacer comparaciones sobre la base de DATETIMES si vas a hacer una comparación contra la fecha del sistema, porque eso te devolverá TRUE o FALSE según cuándo se ejecute.
Si tuvieses la fecha "2010-08-06 00:00:00" en el campo, y la consulta la hicieses a las 23:59:59 del 05/08/2010, te daría TRUE, pero dos segundos después daría FALSE.
¿Se entiende la idea?
Y si lo que tuvieses fuese "2010-08-06 08:07:42" y la consulta la hicieses a las "2010-08-06 08:06:40", daría TRUE, pero daría FALSE a partir de "2010-08-06 08:07:43" ...

La consulta debe ser consistente...

La comparación dará resultados sí y sólo si coincide todo el DATETIME, pero si lo que quieres es comparar las fechas, como dijiste:
Cita:
Pues quería saber como comparar un valor DATETIME de la base de datos con el típico formato "2010-4-21 00:00:00" con el valor de la fecha actual, para saber si mi campo es mayor que la fecha actual.
debes forzosamente quitar la parte de TIME del DATETIME que tienes guardado:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE DATE(campoFecha)>CURDATE();

En cualquier caso, si lo quieres comparar con la fecha y hora actuales, solamente debes cambiar de función:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE campoFecha > NOW();

Insisto: Lo que te pasé cumple tu pedido. Si lo que quieres es otra cosa, debes aclarar exactamente lo que deseas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)