Активируй свой Блог! Система Активной Рекламы WMZONA.COM * [Будущий миллионер]
Результат работы функции MySQL TO_DAYS() от неправильной даты = NULL:
mysql> SELECT TO_DAYS('0000-00-00');
NULL
и соответственно, пытаясь посчитать количество дней с указанной даты(или любое другое вычисление с датами) получим ошибку:
mysql> SELECT TO_DAYS(NOW()) - TO_DAYS('0000-00-00');
NULL
Как вариант можно использовать UNIX_TIMESTAMP:
mysql> SELECT (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP('0000-00-00'))/86459;
14284.81
p.s. для умников, 86459 - округлённое количество секунд в сутках с учётом високосных лет. Обычно программисты используют 86400, что со временем даёт ощутимый сдвиг.
* Реклама в бомжеленте.
Помогите детям!