Это должно вернуть 1440 минут и работает отлично:MySQL timediff - это ошибка?
select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-13 10:00',
'2013-03-14 10:00'))/60),2)) ;
(2) тот же день функция меняется на 2 лет дней это возвращает 50339.98
select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-12 10:00',
'2013-03-14 10:00'))/60),2)) ;
(3) те же функции с дата изменена на 4 лет дней и ответ 50339.98
select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-10 10:00',
'2013-03-14 10:00'))/60),2)) ;
Это ошибка?
Нет, это [не] (http://sqlfiddle.com/#!2/0da0e/2). Кстати, это «дни», а не «годы». – hjpotter92
У вас есть еще одна проблема, это прекрасно работает, как упоминалось в @DreamEater – jurgenreza
Какие значения вы получите, если вы выберете выражения компонентов: 'SELECT ABS (ROUND ((TIME_TO_SEC (TIMEDIFF ('2013-03-10 10:00' «2013-03-14»))/60,2)) ardtd, ROUND ((TIME_TO_SEC (TIMEDIFF ('2013-03-10 10:00' '2013-03-14'))/60,2) AS rdtd , (TIME_TO_SEC (TIMEDIFF ('2013-03-10 10:00' '2013-03-14'))/60 AS dtd, TIME_TO_SEC (TIMEDIFF ('2013-03-10 10:00' '2013-03- 14 ')) AS td, TIMEDIFF (' 2013-03-10 10:00 '' 2013-03-14 ') AS d; '? –