Задать вопрос

Почему SELECT date( «2014-01-01» ) — date( «2013-12-31» ) выдает 8870?

Почему запрос в mysql SELECT date( "2014-01-01" ) - date( "2013-12-31" ) выдает 8870 ?

Версия MySQL 5.1.66.
ОС: FreeBSD 8.2-RELEASE
Дата на сервере выставлена корректно.
  • Вопрос задан
  • 2992 просмотра
Подписаться 4 Оценить Комментировать
Ответ пользователя akashtrih К ответам на вопрос (3)
akashtrih
@akashtrih
А что ты хотел сделать вызовом функции DATE() для дат, у которых уже нет времени? Фактически, у тебя разность строк "2014-01-01" и "2013-12-31", которые преобразуются в числа 20140101 и 20131231, разность которых и равна 8870.
Для получения кол-ва дней между двумя датами, можно воспользоваться функцией DATEDIFF():
SELECT DATEDIFF('2014-01-01','2013-12-31');
Ответ написан
Комментировать