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:
En cualquier caso, si lo quieres comparar con la
fecha y hora actuales, solamente debes cambiar de función:
Insisto: Lo que te pasé cumple tu pedido. Si lo que quieres es otra cosa, debes aclarar exactamente lo que deseas...