ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Спонсор статьи: http://www.balkizov.ru/ пластика груди пластика груди.

Все о MySQL. Типы DATETIME и TIMESTAMP


28-12-2009

В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и TIMESTAMP, предназначенные для хранения дат и времени в виде компонентов одного значения. Использование этих типов продемонстрировано в следующем примере.
Типы DATETIME и TIMESTAMP
Типы DATETIME и TIMESTAMP
Эти два типа чаще всего используются для хранения временных отметок, одновременно содержащих информацию о текущем времени и дате, и они также могут пригодиться для приложений, которые выполняют большое количество транзакций с базой данных, и когда требуется хранить временные отметки для отладки или анализа работы системы.
MySQL автоматически заносит в первое поле, объявленное в записи как TIMESTAMP текущую дату и временя, если явно не задано никакого значения для этого поля, или если для этого поля задано значение NULL. Следующий пример наглядно демонстрирует этот эффект.
Типы DATETIME и TIMESTAMP
Эквивалентного результата можно добиться, использовав функцию MySQL NOW() для заполнения текущей даты и времени в поле, объявленном с типом DATETIME.
Типы DATETIME и TIMESTAMP
Эти прекрасные невидимые временные метки!
Существует возможность управлять размером поля TIMESTAMP с помощью спе­цификатора длины, аналогично тому, как это делается с числовыми типами. Следующая таблица перечисляет различные размеры и соответствующие им форматы2.
Типы DATETIME и TIMESTAMP
Следует заметить, что несмотря на то, что MySQL разрешает использование нестандартных форматов TIMESTAMP, пользоваться ими следует ограниченно. Причина лежит на поверхности: MySQL не имеет возможности использовать в ключах поля TIMESTAMP нестандартных форматов. Форматирование вывода можно получить с помощью функции DATE_FORMAT(), речь о которой пойдет в следующей главе.
Использование модификатора длины отображения поля TIMESTAMP никак не влияет на реальный размер поля или диапазон значений, которые он может сохранять. Задайте сначала короткую длину отображения поля TIMESTAMP, а потом попробуйте увеличить его с помощью команды ALTER TABLE, и вы увидите, как станет видимой ранее скрытая информация. Например:
mysql> CREATE TABLE data (when TIMESTAMP(6));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO data VALUES (NULL);
Query OK, 1 row affected (0.06 sec)
Типы DATETIME и TIMESTAMP
Типы DATETIME и TIMESTAMP
Такие значения могут проскочить мимо недремлющего ока MySQL, т.к. разработчики MySQL не предусмотрели всесторонней проверки для значений даты и времени. В чем причина? Проверка значений даты и времени все-таки считается задачей прикладного уровня, и поэтому считается нецелесообразным перегружать MySQL всеми мыслимыми и немыслимыми проверками при каждом вводе даты.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Типы TEXT и BLOB Все о MySQL. Сложные типы