Иллюстрированный самоучитель по SQL для начинающих

Основы SQL

Тип DATE

Тип DATE (дата) предназначен для хранения значений даты в следующем порядке: год, и день. Значение года занимает четыре цифры, а месяца и дня – по две. Значения этого могут представлять любую дату, начиная с 0001 года и заканчивая 9999 годом. Длина DAТЕ равна десяти позициям, как, например, для 1957-08-14.

Технические подробности: Так как язык SQL, используя тип DATE, представляет в явном виде все четыре цифры года, то данные SQL никогда не вызывали опасения из-за пресловутой проблемы 2000 года.

Тип TIME WITHOUT TIME ZONE

Тип TIME WITHOUT TIME ZONE (время без часового пояса) предназначен для хранения значений времени в следующем порядке: час, минута и секунда. Значения часа и минуты занимают в точности по две цифры. Секундное значение может занимать две цифры, но может быть и расширено, чтобы иметь необязательную дробную часть. Поэтому время 9 часов 32 минуты и 58.436 секунды утра представляется с помощью этого типа данных как 09:32:58.436.

Точность дробной части зависит от конкретной реализации, но имеет длину не менее шести символов. Значение типа TIME WITHOUT TTME ZONE без дробной части занимает восемь позиций (включая двоеточия), а с дробной частью – девять позиций (вместе с десятичной запятой) плюс число цифр дробной части. Этот тип данных задается или с помощью синтаксиса ТМЕ, в результате чего данные представляются в виде, установленном по умолчанию, т.е. без дробной части, или с помощью другого синтаксиса, TIME WITHOUT TIME ZONE (p), где вместо р должно стоять количество цифровых позиций, находящихся справа от десятичной запятой. В предыдущем абзаце представлен пример данных типа TIME WITHOUT TIME ZONE (3).

Тип TIMESTAMP WITHOUT TIME ZONE

В данных типа TIMESTAMP WITHOUT TIME ZONE (дата и время без часового пояса) хранится информация как о дате, так и о времени. У компонентов данных этого типа такие же значения длины и такие же ограничения, как и для данных типа DATE и TIME WITHOUT TIME ZONE, если не считать одного различия. Оно состоит в том, что по умолчанию в данных типа TIMESTAMP WITHOUT TIME ZONE длина дробной части равна шести цифрам, а не нулю. Если в значении типа TIMESTAMP WITHOUT TIME ZONE нет цифр дробной части, то длина этого значения равна 19 позициям, занимаемым в следующем порядке: десять позиций – датой, один пробел служит в качестве разделителя, и восемь позиций – временем. Если цифры дробной части все же имеются (по умолчанию их должно быть шесть), то Длина равна 20 позициям плюс количество этих цифр. Двадцатая позиция предназначена для Десятичной запятой. Устанавливать для поля тип TIMESTAMP WITHOUT TIME ZONE можно с помощью двух видов синтаксиса: TIMESTAMP WITHOUT TIME ZONE или IMESTAMP WITHOUT TIME ZONE (p), где вместо р должно стоять число позиций, предназначенных для цифр дробной части. Вместо р не может стоять отрицательное число, максимальное значение этого параметра зависит от конкретной реализации SQL.

Тип TIME WITH TIME ZONE

Тип данных TIME WITH TIME ZONE (время вместе с часовым поясом) в точности такой же как и TIME WITHOUT TIME ZONE, за исключением того, что в нем еще имеется информация о разнице между местным и всемирным временем (UTC, Universal Time), ранее известным как среднее время по Гринвичу (Greenwich Mean Time, GMT). Значение этой разницы может находиться в диапазоне от – 12:59 до +13:00. Такая дополнительная информация занимает за цифрами времени шесть позиций: дефис в качестве разделителя, знак "плюс" или "минус", а затем разница в часах (две цифры) и минутах (также две цифры) и двоеточие между часами и минутами. Значение типа TIME WITH TIME ZONE без дробной части (как установлено по умолчанию) занимает 14 позиций. Если же дробная часть указана, то длина поля равняется 15 позициям плюс количество цифр дробной части.

Тип TIMESTAMP WITH TIME ZONE

Тип данных TIMESTAMP WITH TIME ZONE (дата и время вместе с часовым поясом) работает точно так же, как и TIMESTAMP WITHOUT TIME ZONE, за исключением того, что в нем еще имеется информация о разнице между местным и всемирным временем. Дополнительная информация занимает за датой и временем шесть позиций (о формате данных часового пояса см. в предыдущем разделе). Для поля с данными часового пояса и без дробной части требуется 25 позиций, а для поля с дробной частью нужно 26 позиций плюс количество цифр дробной части (это количество по умолчанию равно шести).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.