SQL1

       

ТИПЫ DATE И TIME


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

Реализация, которая предлагает эту особенность, должна быть способна преобразовывать дату одного формата в другой автоматически.

Имеются несколько основных форматов даты с которыми вы можете столкнуться:

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

Наличие специального типа даты даёт возможность выполнять арифметические операции с датами. Например, вы можете добавлять число дней к дате и получать другую дату в программе, самостоятельно следящей за числом дней в месяцах, високосными годами и т.д.

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

СтандартФорматПримерМЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ (ISO) hh-mm-ss21.04.37 Японский Индустриальный Стандарт (JIS )hh-mm-ss21.04.37 IBM Европейский Стандартhh-mm-ss21.04.37 IBM USA Стандарт (USA)hh.mm AM/PM9.04 PM

Время может добавляться или сравниваться точно так же, как дата, с автоматической коррекцией числа секунд в минутах или часах. Кроме того, специально встроенные константы, указывающие текущую дату или время (CURDATE или CURTIME), являются общими. Они похожи на константу USER (Пользователь) в которой их значение будет непрерывно меняться.

Можете ли вы включать время и дату в одно поле? Некоторые реализации определяют тип DATE достаточно точно, чтобы включать туда ещё и TIME. В качестве альтернативы третий обобщающий тип, TIMESTAMP, может быть определен как комбинация этих двух.



Содержание раздела