Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   fallo consulta con NOW() (http://www.forosdelweb.com/f86/fallo-consulta-con-now-551377/)

sfx4ever 25/01/2008 04:44

fallo consulta con NOW()
 
Hola,esta consulta me va bien en el ordenador de desarrollo:

Código HTML:

SELECT * FROM tabla WHERE (tabla.fecha=NOW() )
Sin embargo, cuando paso la aplicación al servidor en producción la misma consulta no me devuelve NADA

¿sera alguna opción de configuración de mysql? Utilizo mysql 5.


Agradezco vuestra ayuda.

Un saludo.

hualro 25/01/2008 11:41

Re: fallo consulta con NOW()
 
Hola sfx4ever,
probablemente sea porque now() te toma la fecha pero con todo y minutos y segundos por lo que igualarlo con un campo fecha sea un poco difícil que de resultados, lo más práctico es igualarlo con una función que te da la fecha de hoy pero sin minutos y segundos... que sería esta: CURDATE( )
con esta tienes más probabilidades de obtener resultados

Saludos!

gnzsoloyo 26/01/2008 10:42

Re: fallo consulta con NOW()
 
Mas o menos así.
No te devuelve nada porque como te dice hualro, la representación de la función NOW() es:
Cita:

"YYYY-MM-DD hh:mm:ss"
y eso simplemente porque lo que devuelve es un DATETIME.

De modo que para que exista una coincidencia, el valor almacenado en la tabla debería ser EXACTAMENTE IGUAL AL MOMENTO DE EJECUCIÓN DE LA CONSULTA, cosa lógicamente imposible (para ello debería almacenar y consultar en el mismo segundo exacto).
El tema es que si lo que quieres es recuberar los registros almaenados con fecha de este mismo día, puedes usar dos formas:
- La función CURDATE(), como te menciona hualro, que te devuelve un DATE.
- Realizar la consulta así:
Cita:

SELECT * FROM tabla WHERE tabla.fecha=DATE(NOW() );
suponiendo que tabla.fecha es un DATE, o bien:
Cita:

SELECT * FROM tabla WHERE DATE(fecha)=DATE(NOW() )
si es un datetime.

sfx4ever 28/01/2008 06:09

Re: fallo consulta con NOW()
 
gracias a los dos, ya lo he solucionado :arriba: :si:


La zona horaria es GMT -6. Ahora son las 23:14.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.