MySQL Последствия выполнения utc_date + 1 вместо использования date_add (utc_date, интервал 1 день) - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть несколько запросов, где смещения дня кодируются как utc_date + 1, а не с использованием функции date_add. Есть ли у них какие-либо последствия использования этого метода? Я беспокоюсь о том, что в некоторых случаях это может привести к неверному результату, особенно когда дата результата переносится на другой месяц

1 Ответ

1 голос
/ 03 февраля 2011
select utc_date()+1, date('2011-02-28')+1, date_add('2011-02-28', INTERVAL 1 DAY)

Используя приведенный выше запрос (в MySQL 5.0.51a), я получаю следующие результаты:

  • utc_date()+1 = 20110204
  • date('2011-02-28')+1 = 20110229
  • date_add('2011-02-28', INTERVAL 1 DAY) = 2011-03-01

Таким образом, простое добавление 1 к дате заставляет mysql рассматривать значение даты как целое число, а не как дату. Я бы рекомендовал изменить код для использования date_add.

...