У меня проблема с MySQL 5.1. Тип данных datetime не неявно отбрасывается, чтобы соответствовать столбцу даты.Неявное отбрасывание от now() до поля даты
SELECT * FROM my_table WHERE my_date_field = NOW()
Этот запрос не возвращает ни одной строки, используя MySQL 5.1, но хорошо работает с версией 5.0. Если мы используем CURDATE()
вместо NOW()
, он работает как в MySQL 5.0, так и в MySQL 5.1. Если бросок является явным (CAST(NOW() AS DATE)
), он также работает как в MySQL 5.0, так и в MySQL 5.1.
Проблема возникает только при неявном приведении из datetime на дату. Разве никто не сталкивался с этой проблемой или не знает, как решить эту проблему? Я знаю, что не лучше использовать NOW() вместо CURTIME(), но здесь это не вопрос. В настоящее время он используется в приложении, и цель состоит в том, чтобы не переписывать все.
Спасибо!
Я думаю, что вы отлично ответили на вопрос. Благодаря! – Savageman
+1 для идеального ответа. –