Spec-Zone .ru
спецификации, руководства, описания, API

11.3.2. TIME Ввести

MySQL получает и выводит на экран TIME значения в 'HH:MM:SS' формат (или 'HHH:MM:SS' формат для больших значений часов). TIME значения могут расположиться от '-838:59:59' к '838:59:59'. Часть часов может быть настолько большой потому что TIME тип может использоваться не только, чтобы представить время суток (который должен составить меньше чем 24 часа), но также и прошедшее время, или временной интервал между двумя событиями (который может быть намного больше чем 24 часа, или даже отрицательным).

MySQL распознает TIME значения в нескольких форматах, некоторые из которых могут включать запаздывающую часть долей секунды в до микросекунд (6 цифр) точность. См. Раздел 9.1.3, "Дата и Литералы Времени". Для получения информации о поддержке долей секунды в MySQL см. Раздел 11.3.6, "Доли секунды во Временных стоимостях". В частности любая дробная часть в значении вставляется в a TIME столбец сохранен, а не отбрасывается. С включенной дробной частью, диапазон для TIME значения '-838:59:59.000000' к '838:59:59.000000'.

Будьте осторожны относительно присвоения сокращенных значений к a TIME столбец. MySQL интерпретирует сокращенный TIME значения с двоеточиями как время дня. Таким образом, '11:12' средства '11:12:00', нет '00:11:12'. MySQL интерпретирует сокращенные значения без двоеточий, используя предположение, что две самых правых цифры представляют секунды (то есть, как прошедшее время, а не как время суток). Например, Вы могли бы думать '1112' и 1112 как значение '11:12:00' (12 минут после 11 часов), но MySQL интерпретирует их как '00:11:12' (11 минут, 12 секунд). Точно так же '12' и 12 интерпретируются как '00:00:12'.

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

Для более рестриктивной обработки недопустимых TIME значения, позвольте строгому режиму SQL вызвать ошибки произойти. См. Раздел 5.1.7, "Режимы SQL Сервера".