MySQL - 838 часов? - PullRequest
       2

MySQL - 838 часов?

1 голос
/ 17 марта 2011

Я выполняю этот скрипт:

SELECT EXTRACT(HOUR FROM TIMEDIFF('2009-12-12 13:13:13', NOW()));

И я получаю: -838.Это самый дальний MySQL, до которого можно добраться при извлечении?

Ответы [ 2 ]

3 голосов
/ 17 марта 2011

Вы можете преодолеть этот предел с помощью обходного пути

   select
   datediff(now(),'2009-12-12 13:13:13') * 24
    + extract(hour from now())
    - extract(hour from '2009-12-12 13:13:13') as hour_diff
2 голосов
/ 17 марта 2011

Это действительно ограничение типа TIME.

По умолчанию значения, которые находятся вне диапазона TIME, но в остальном допустимы, обрезаются до ближайшей конечной точкииз диапазона.Например, «-850: 00: 00» и «850: 00: 00» преобразуются в «-838: 59: 59» и «838: 59: 59».Недопустимые значения ВРЕМЕНИ преобразуются в «00: 00: 00».Обратите внимание, что, поскольку «00: 00: 00» само по себе является допустимым значением ВРЕМЕНИ, из значения «00: 00: 00», хранящегося в таблице, невозможно определить, было ли исходное значение указано как «00:00:00 'или было ли это незаконно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...