В MYSQL у меня есть «0», вставленный в поле DATETIME, называемое DT. делает его «0000-00-00 00:00:00». Мне нужно сравнить DT с NOW() и сказать, был ли результат в прошлом или нет.Что такое ДЕЙСТВИТЕЛЬНО внутри этого поля?
Некоторые даты имеют реальные значения, а некоторые даты имеют значение «0» (как сказано, «0000-00-00 00:00:00»). Как я могу проверить, что столбец DT + INTERVAL 3 MONTH < NOW()?
Спасибо!
Имейте в виду, что любой запрос sql-запроса, содержащий NOW(), не может быть кэширован в кеше запросов. Лучше использовать некоторое реальное значение даты и времени, переданное из скрипта. –
@FractalizeR, спасибо за ввод. Мы действительно хотим, чтобы запросы с помощью NOW() были кешированы, потому что на секунду это только NOW()? – Ami
хорошо, это зависит от того, насколько занят ваш сайт. Вы можете округлить NOW() в своем скрипте до ближайших 5 минут, например, чтобы воспользоваться кешированием запросов в MySQL. Но у вас есть возможность реализовать это в логике сценария. Во всяком случае, это было всего лишь уведомление, а не критика. –