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

Оценить
(2 голоса)

Transact-SQL поддерживает следующие типы данных, связанные с датой и временем:

♦ datetime;

♦ smalldatetime;

♦ date;

♦ time;

♦ datetime2;

♦ datetimeoffset.

Типы данных datetime и smalldatetime задают дату и время, при этом каждое значение сохраняется как целое значение в 4 или в 2 байтах соответственно. Значения datetime и smalldatetime внутренне сохраняются как два отдельных числовых значения. Значение даты в datetime хранится в диапазоне от 01.01.1753 до 31.12.9999. Аналогичное значение для smalldatetime хранится в диапазоне от 01.01.1900 до 06.06.2079. Компонент времени сохраняется в секундах в 4-байтовом (или 2-байтовом для smalldatetime) поле как число трехсотых долей секунды (datetime) или минут (smalldatetime), прошедших после полуночи.

Использование datetime и smalldatetime довольно неудобно, если вы собираетесь хранить только дату или только время. По этой причине SQL Server 2008 вводит новые типы данных, date и time, которые сохраняют только компоненты date или time из datetime, соответственно. Тип данных date хранится в 3 байтах и имеет диапазон от 01.01.0001 до 31.12.9999. Тип данных time хранится в 3-5 байтах и имеет точность 100 наносекунд.

Тип данных datetime2 также является новым типом данных, который хранит с высокой точностью данные даты и времени. Этот тип данных может быть определен с различными размерами в зависимости от ваших требований. (Размер хранения 6-8 байтов.) Точность представления времени составляет 100 наносекунд. Этот тип данных не осведомлен о летнем времени.

Все временные типы данных, описанные до сих пор, не поддерживают часовые пояса. Новый тип данных, называемый datetimeoffset, содержит в себе часть, являющуюся поправкой времени к часовому поясу. По этой причине он хранится в 6-8 байтах. (Все другие свойства этого типа данных аналогичны соответствующим свойствам datetime2.)

Значение даты в Transact-SQL по умолчанию задается в виде строки в формате: 'ттт dd уууу' (например, 'Jan ю 1993') внутри пары апострофов или двойных кавычек. (Заметьте, что относительный порядок следования месяца, дня и года может управляться оператором set dateformat. В дополнение к этому система распознает числовое значение месяца при использовании разделителей / или -.) Значение времени задается в формате Ък.тт' и Database Engine использует 24-часовое время (например, 23:25).

Примеры 4.4 и 4.5 показывают различные способы, которыми могут быть записаны значения даты и времени при использовании различных форматов.

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


Смешанные типы данных
Двоичные типы данных и BIT
Типы данных больших объектов
Тип данных UNIQUEIDENTIFIER
Тип данных SQL_ VARIANT

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


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.