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

11.1.2. Дата и Краткий обзор Типа Времени

Сводка временных типов данных следует. Для дополнительной информации о свойствах и требованиях хранения временных типов, см. Раздел 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)".

SUM() и AVG() агрегатные функции не работают с временными значениями. (Они преобразовывают значения в числа, теряя все после первого нечислового символа.), Чтобы работать вокруг этой проблемы, преобразуйте в числовые модули, выполните совокупную работу, и преобразуйте назад во временное значение. Примеры:

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROM tbl_name;SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROM tbl_name;
Отметить

Сервер MySQL может быть выполнен с MAXDB Режим SQL включается. В этом случае, TIMESTAMP идентично с DATETIME. Если этот режим включается в то время, когда таблица составляется, TIMESTAMP столбцы создаются как DATETIME столбцы. В результате такое использование столбцов DATETIME выведите на экран формат, имейте тот же самый диапазон значений, и нет никакой автоматической инициализации или обновляющий к текущей дате и время. См. Раздел 5.1.7, "Режимы SQL Сервера".