Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Два типа данных времени и даты

Два типа данных времени и датыВ СУБД Microsoft SQL Server существуют два типа данных времени и даты: DATETIME и SMALLDATETIME. Все они хранят значения даты и времени, однако диапазоны у них разные. Тип DATETIME способен хранить значения от 01/01/1753 до 31/12/9999 с точностью до 0,00333 секунды. Во внутреннем представлении этот тип имеет 8-байтовый строковый формат. Первые 4 байта отражают количество дней, прошедших после (или до) 1 января 1900 года (это системная точка отсчета). В следующих 4-х байтах хранится время в миллисекундах, прошедшее с полуночи текущего дня. Тип SMALLDATETIME способен хранить значения с 1 января 1900 года до 6 июня 2079 года с точностью до минуты. Во внутреннем представлении этот тип занимает 4 байта. В первых (на этот раз двух) байтах хранится количество дней, прошедших после системной точки отсчета (1/1/1900), а далее (также в двух байтах) — количество минут, прошедших с полуночи текущего дня. Литералы даты и времени сильно отличаются в разных реализациях СУБД. В Oracle допускается представление значений типа DATE в виде литералов, если они соответствуют параметру инициализации NLS_DATE_FORMAT, который по умолчанию имеет значение DD-MON-YY. (Параметры инициализации в Oracle контролируются администратором базы данных; этот вопрос в книге не рассматривается.) Также можно использовать стандарт литералов из SQL:2003 (YYYY-MM-DD) с префиксом DATE или преобразовывать литералы в строки с помощью функции TO_DATE (см. главу 10). В следующих трех инструкциях приведены примеры литералов даты (SHIPMENT_ARRIVDATE_D — это поле даты доставки заказа из базы данных ACME). Типы данных TIMESTAMP и TIMESTAMP WITH TIME ZONE также допускают формат DD- MON-YY для литералов (с необязательным префиксом TIME). Можно определять такие литералы и с помощью префикса TIMESTAMP.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *