Mysql может работать со временем в диапазоне от -838:59:59
до 838:59:59
.
Во-первых, вы должны убедиться, что TIMEDIFF()
возвращает правильное время. Например, TIMEDIFF()
может вернуть ошибку при использовании jdbc driver
в случаях с отрицательным временем.
Вы можете проверить это простым запросом:
SELECT TIMEDIFF("02:55:00", "03:00:00")
если результат '-05: 00: 00', драйвер работает правильно.
Во-вторых, вы должны приводить свое значение времени в типе времени вручную, потому что MySQL может неверно приводить отрицательное значение времени к типу времени.
WHERE TIMEDIFF("03:00:00", VARIABLE) >= TIME("-00:05:00")
Например:
SELECT TIMEDIFF("03:00:00", "3:00:00") >= "-00:05:00"; // return true
SELECT TIMEDIFF("03:00:00", "3:10:00") >= "-00:05:00"; // return true
Этот запрос всегда возвращает true
, но если вы приведете '-00: 05: 00' к типу времени вручную, эти запросы вернут правильные результаты
SELECT TIMEDIFF("03:00:00", "3:00:00") >= TIME("-00:05:00"); // return true
SELECT TIMEDIFF("03:00:00", "3:10:00") >= TIME("-00:05:00"); // return false