|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Сводка временных типов данных следует. Для дополнительной информации о свойствах и требованиях хранения временных типов, см. Раздел 11.3, "Дата и Типы Времени", и Раздел 11.6, "Требования Хранения Типа данных". Для описаний функций, которые работают на временных значениях, см. Раздел 12.7, "Дата и Функции Времени".
Для DATE и DATETIME описания диапазона, "поддерживаемые",
означают, что, хотя более ранние значения могли бы работать, нет никакой гарантии.
MySQL разрешает доли секунды для TIME, DATETIME, и TIMESTAMP значения, с до микросекунд (6 цифр) точность. Чтобы определить столбец,
который включает часть долей секунды, используйте синтаксис , где type_name(fsp)type_name TIME,
DATETIME, или TIMESTAMP, и fsp точность долей
секунды. Например:
CREATE TABLE t1 (t TIME(3), dt DATETIME(6));
fsp значение, если дано, должно быть в диапазоне от 0 до 6. Значение 0
показывает, что нет никакой дробной части. Если опущено, точность значения по умолчанию 0. (Это отличается от
стандартного значения по умолчанию SQL 6 для совместимости с предыдущими версиями MySQL.)
MySQL 5.6.5 представляет расширенную автоматическую инициализацию и обновление временных типов. Любой TIMESTAMP у столбца в таблице могут быть эти свойства, а не самое большее один
столбец за таблицу. Кроме того, эти свойства теперь доступны для DATETIME столбцы.
YEAR(2) у типа данных есть определенные вопросы, которые следует рассмотреть прежде,
чем хотеть использовать его. С MySQL 5.6.6, YEAR(2) осуждается. YEAR(2) столбцы в существующих таблицах обрабатываются как прежде, но YEAR(2) в новых или измененных таблицах преобразовываются в YEAR(4). Для получения дополнительной информации см. Раздел
11.3.4,"YEAR(2) Ограничения и Переходящий на YEAR(4)".
Дата. Поддерживаемый диапазон '1000-01-01' к '9999-12-31'.
Дисплеи MySQL DATE значения в 'YYYY-MM-DD' формат,
но присвоение разрешений значений к DATE столбцы используя или строки или числа.
Дата и комбинация времени. Поддерживаемый диапазон '1000-01-01
00:00:00.000000' к '9999-12-31 23:59:59.999999'. Дисплеи MySQL
DATETIME
значения в 'YYYY-MM-DD HH:MM:SS[.fraction]' формат, но присвоение
разрешений значений к DATETIME столбцы используя или строки или числа.
Дополнительное fsp значение в диапазоне от 0 до 6 может
быть дано, чтобы определить точность долей секунды. Значение 0 показывает, что нет никакой дробной
части. Если опущено, точность значения по умолчанию 0.
Автоматическая инициализация и обновляющий к текущей дате и время для DATETIME столбцы могут быть определены, используя DEFAULT и ON UPDATE пункты определения
столбца, как описано в Разделе
11.3.5, "Автоматическая Инициализация и Обновляющий для TIMESTAMP и DATETIME".
Метка времени. Диапазон '1970-01-01 00:00:01.000000' UTC к '2038-01-19 03:14:07.999999' UTC. TIMESTAMP значения сохранены как число секунд начиная с эпохи ('1970-01-01 00:00:00' UTC). A TIMESTAMP не может представить значение '1970-01-01
00:00:00' потому что это эквивалентно 0 секундам от эпохи, и значение 0 резервируется для
того, чтобы представить '0000-00-00 00:00:00', "нуль" TIMESTAMP значение.
Дополнительное fsp значение в диапазоне от 0 до 6 может
быть дано, чтобы определить точность долей секунды. Значение 0 показывает, что нет никакой дробной
части. Если опущено, точность значения по умолчанию 0.
Путем сервер обрабатывает TIMESTAMP определения зависят от значения explicit_defaults_for_timestamp системная переменная (см. Раздел 5.1.4, "Системные Переменные
Сервера"). По умолчанию, explicit_defaults_for_timestamp отключается и дескрипторы сервера
TIMESTAMP следующим образом:
Если не определено иначе, первое TIMESTAMP столбец в таблице определяется, чтобы быть автоматически
установленным в дату и время новой модификации если не явно присвоенный значение. Это делает TIMESTAMP полезный для записи метки времени INSERT или UPDATE работа. Можно также установить любого TIMESTAMP столбец к текущей дате и время, присваивая это a NULL значение, если это не было определено с помощью NULL припишите разрешению NULL значения.
Автоматическая инициализация и обновляющий к текущей дате и время может быть определена, используя
DEFAULT CURRENT_TIMESTAMP и ON UPDATE
CURRENT_TIMESTAMP пункты определения столбца. По умолчанию, первое TIMESTAMP у столбца есть эти свойства, как ранее отмечено. С
MySQL 5.6.5, любого TIMESTAMP столбец в таблице может быть определен, чтобы иметь эти
свойства. Прежде 5.6.5, самое большее один TIMESTAMP у столбца на таблицу могут быть они, но возможно
подавить их для первого столбца и вместо этого присвоить их различному TIMESTAMP столбец. См. Раздел
11.3.5, "Автоматическая Инициализация и Обновляющий для TIMESTAMP и DATETIME".
Если explicit_defaults_for_timestamp включается, нет никакого
автоматического присвоения DEFAULT CURRENT_TIMESTAMP или ON UPDATE CURRENT_TIMESTAMP атрибуты любому TIMESTAMP столбец. Они должны быть включены явно в определении
столбца. Кроме того, любой TIMESTAMP не явно объявленный как NOT
NULL разрешения NULL значения.
Время. Диапазон '-838:59:59.000000' к '838:59:59.000000'.
Дисплеи MySQL TIME значения в 'HH:MM:SS[.fraction]' формат, но присвоение разрешений значений к TIME столбцы используя или строки или числа.
Дополнительное fsp значение в диапазоне от 0 до 6 может
быть дано, чтобы определить точность долей секунды. Значение 0 показывает, что нет никакой дробной
части. Если опущено, точность значения по умолчанию 0.
Год в двухразрядном или четырехразрядном формате. Значение по умолчанию является четырехразрядным
форматом. YEAR(2) или YEAR(4) отличайтесь
по формату дисплея, но имейте тот же самый диапазон значений. В четырехразрядном формате, дисплей
значений как 1901 к 2155, и 0000. В двухразрядном формате, дисплей значений как 70 к 69, представление лет с 1970 до
2069. Дисплеи MySQL YEAR значения в YYYY или YYформат, но присвоение разрешений значений к YEAR столбцы используя или строки или числа.
YEAR(2) у типа данных есть определенные вопросы, которые
следует рассмотреть прежде, чем хотеть использовать его. С MySQL 5.6.6, YEAR(2)
осуждается. YEAR(2) столбцы в существующих таблицах обрабатываются
как прежде, но YEAR(2) в новых или измененных таблицах
преобразовываются в YEAR(4). Для получения дополнительной
информации см. Раздел 11.3.4,"YEAR(2) Ограничения и Переходящий на YEAR(4)"
.
Для дополнительной информации о YEAR выведите на экран формат и
интерпретацию входных значений, см. Раздел 11.3.3," YEAR Введите".
SUM() и AVG() агрегатные функции не работают с временными значениями. (Они
преобразовывают значения в числа, теряя все после первого нечислового символа.), Чтобы работать вокруг этой
проблемы, преобразуйте в числовые модули, выполните совокупную работу, и преобразуйте назад во временное
значение. Примеры:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROMtbl_name;SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROMtbl_name;
Сервер MySQL может быть выполнен с MAXDB Режим SQL включается. В этом случае, TIMESTAMP идентично с DATETIME. Если этот режим включается в то время, когда таблица составляется,
TIMESTAMP
столбцы создаются как DATETIME
столбцы. В результате такое использование столбцов DATETIME выведите на экран формат, имейте тот же самый диапазон значений,
и нет никакой автоматической инициализации или обновляющий к текущей дате и время. См. Раздел
5.1.7, "Режимы SQL Сервера".