Buenos días,
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.
Muchas gracias por todo
| |||
Comparar campo DATETIME de la tabla con fecha actual Buenos días, 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. Muchas gracias por todo |
| |||
Respuesta: Comparar campo DATETIME de la tabla con fecha actual Gracias por contestar, No funciona. Con la fecha de hoy como CURDATE() y '2010-08-06 00:00:00' como fecha para comparar no funciona, me devuelve el contrario, es decir: select * from tabla where tabla.fecha > curdate() --> No devuelve nada select * from tabla where table.fecha < curdate() --> Devuelve los campos Trabajo con Navicat 8. ¿¿¿Alguna otra idea??? |
| ||||
Respuesta: Comparar campo DATETIME de la tabla con fecha actual Ese detalle ya te lo indiqué en el post: Cita: 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.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... 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: debes forzosamente quitar la parte de TIME del DATETIME que tienes guardado: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. En cualquier caso, si lo quieres comparar con la fecha y hora actuales, solamente debes cambiar de función:
Código MySQL:
Ver original 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) |
Etiquetas: |