Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Типы DATE и TIME

Как упомянуто в Главе 2 , тип данных DATE широко поддерживается, даже если он не часть стандарта. Мы использовали ранее в нашей таблице Порядков, этот тип, использующий формат mm/dd/yyyy. Это стандартный формат IBM в США. Разумеется возможны и другие форматы, и программные реализации часто поддерживают ряд форматов, позволяя вам выбирать тот который лучше для вас подходит. Реализация, которая предлагает эту особенность должна быть способна преобразовывать дату одного формата в другой - автоматически. Имеются несколько основных форматов даты с которыми вы можете столкнуться:

Стандарт Формат Пример
Международная Организация По Стандартизации (ISO) yyyy-mm-dd 1990-10-31
Японский Индустриальный Стандарт (JIS) yyyy-mm-dd 1990-10-31
IBM Европейский Стандарт (EUR) dd.mm.yyyy 10.31.1990

Наличие специального типа определяемого для даты, дает возможность выполнять арифметические операции с датами. Например, вы можете добавлять число дней к дате и получать другую дату, в программе, самостоятельно следящей за числом дней в месяцах, високосными годами, и так далее. Даты могут также сравниваться; например фраза, дата A < дата B , означает, что дата A предшествует дате B по времени. Кроме даты, большое количество программ определяют специальный тип для времени, который может также быть представлен в ряде форматов, включая следующие:

Стандарт Формат Пример
Международная Организация По Стандартизации (ISO) hh-mm-ss 21.04.37
Японский Индустриальный Стандарт (JIS) hh-mm-ss 21.04.37
IBM Европейский Стандарт (EUR) hh-mm-ss 21.04.37
IBM USA Стандарт (USA) hh.mm AM/PM 9.04 PM

Время может добавляться или сравниваться точно также как дата, с коррекцией числа секунд в минутах или часах автоматически. Кроме того, специально встроенные константы указывающие текущую дату или время ( CURDATE или CURTIME ) являются общими. Они похожи на константу USER (ПОЛЬЗОВАТЕЛЬ) в которой их значение будет непрерывно меняться. Можете ли вы включать врем и дату в одно поле ? Некоторые реализации определяют тип DATE достаточно точно, чтобы включать туда еще и TIME. В качестве альтернативы, третий обобщающий тип, TIMESTAMP, может быть определен как комбинация этих двух.