Тип TIME

MySQL извлекает и отображает значения TIME в формате ‘ЧЧ:ММ:СС (или ‘ЧЧЧ:ММ:СС для больших значений). Значения типа TIME могут изменяться в пределах от •-838:59:59’ до ‘838:59:59’. Причина того, что значение часов может быть насколько большим, состоит в том, что тип TIME может использоваться не только для представления текущего времени (которое не может быть больше 24), но также для того, чтоб хранить зна­чение времени, прошедшего с какого-то момента или временного интервала между двумя событиями (которые могут быть больше 24 часов и даже могут быть отрицательными).
Значение TIME можно специфицировать в различных форматах:

  1. Как строку в формате ‘Д ЧЧ:ММ:СС.дробная_часть’. Вы можете также пользоваться ослабленным синтаксисом: ‘ЧЧ:ММ:СС.дробная_часть’, ‘ЧЧ:ММ:СС, ‘ЧЧ:ММ’, ‘Д ЧЧ:ММ:СС ‘Д ЧЧ:ММ’, ‘Д ЧЧ1 и ‘СС’. Здесь Д представляет дни, значения которых могут быть от 0 до 34. Помните, что MySQL не хранит дробную часть.
  2. Как строку без разделителей в формате ‘HhmmSS1, в предположении, что она содержит корректное время. Например, ‘101112’ понимается как ’10:11:12′, но ‘109712’ – неверное значение (бессмысленная величина минут) и обращается в

’00:00:00′.

  1. Как число формата HHMMSS, в предположении, что оно содержит корректное время. Например, 101112 понимается как ’10:11:12′. Следующие альтернативные форматы также допускаются: СС, ММСС, ЧЧММСС, ЧЧММСС.дробная_часть. Но помните, что MySQL не хранит дробную часть.
  2. Как результат функции, которая возвращает значение, приемлемое в контексте TIME, например, CURRENT _TIME.

Для значений TIME, заданных в виде строки, включающей разделитель частей време­ни, нет необходимости указывать два разряда для часов, минут и секунд, чье значение меньше 10. ‘8:3:2′ -это то же самое, что и ’08:03:02’.
Будьте осторожны, присваивая короткие значения TIME столбцам типа TIME. Без двоеточий MySQL интерпретирует значения в предположении, что крайние правые раз­ряды представляют секунды. (MySQL интерпретирует значения TIME как периоды вре­мени, а не время дня.) Например, вы можете подразумевать под ‘1112’ и 1112 значение ’11:12:00′ (двенадцать минут двенадцатого), но MySQL интерпретирует это как ’00:11:12′ (11 минут 12 секунд). Подобным образом ’12’ и 12 интерпретируются как

’00:00:12′. В отличие от этого, значения TIME с двоеточиями всегда рассматриваются как время дня. То есть ’11:12′ означает ’11:12:00′, а не ’00:11: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′ – было ли оно явно указано таким при сохранении, или же получилось в результате попытки записать некорректное значение.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: