Pregunta

Cuando uso esta consulta:

SELECT COUNT(*) FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

MySQL ejecuta la consulta, sin errores y me sale el recuento de filas que no han sido actualizados en los últimos 2 días. Sin embargo, si cambio de la consulta como la siguiente:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

Me sale el siguiente error:

#1305 - FUNCTION mydatabase.DATEDIFF does not exist

Cualquier idea por qué esto es así?

¿Fue útil?

Solución

He tenido un problema similar en el que no trabajaría en SELECT si no hubiera establecido el límite.

Trate de hacer algo como:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2 LIMIT 0, 10

¡Gracias corregido en una actualización de MySQL. Trate de actualizar su versión de MySQL también.

Otros consejos

Compruebe que no tiene un espacio entre DATEDIFF y la ( soporte.

Es posible que también se podría tratar SET sql_mode = "IGNORE_SPACE";

También puedes ver este informe de error .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top