Мартьянова А.Е. Базы данных и знаний 200
Общий объем памяти для хранения значения типа datetime равен
восьми байтам. SQL Server использует первые четыре байта для хране-
ния числа _ней после или перед базовой датой 1 января 1900 года. Отри-
цательное значение представляет собой количество дней до базовой да-
ты, а положительное – после. Время хранится во вторых четырех байтах
как число миллисекунд после полуночи
.
Значения типа datetime хранятся с точностью 1/300 секунды (3,33
миллисекунды) и округляются в сторону уменьшения. Например, значе-
ние в одну, две или три миллисекунды хранится как ноль миллисекунд,
значения от четырех до шести миллисекунд хранятся как три миллисе-
кунды.
Для отображения значений, хранящихся в виде данных типа
datetime, по молчанию используется формат МММ DD YYYY
hh:mmAM/PM, например, Sер 23 1949 11:14РМ. При употреблении зна-
чений типа datetime в инструкции INSERT
или любой другой, их надо за-
ключать в одинарные кавычки. Допускается ввести сначала дату, а потом
время, или наоборот, поскольку SQL Server может отличить одно значе-
ние от другого и сохранить все так, как нужно.
При вводе значения типа datetime для даты можно использовать
как верхний, так и нижний регистры, а также вставлять один
или более
пробелов между месяцем, числом и годом. Если вы вводите только вре-
мя, по умолчанию устанавливается дата 1 января 1900 года. Если вы вво-
дите только дату, по умолчанию устанавливается время 12 часов ночи.
Если вы пропустите дату и время, по умолчанию устанавливается 1 ян-
варя 1900 года 12 часов ночи.
Дату можно ввести тремя
разными способами. Каждый из форма-
тов даты распознается SQL Server, и значение сохраняется правильно.
Можно ввести дату с помощью либо аббревиатуры месяца, либо полного
имени месяца. Запятую между числом и годом можно ставить, а можно и
не ставить.
Если пропустить часть года, обозначающую век, то декада, мень-
шая пятидесяти, будет представлена с двадцать
первым веком, а декада,
большая пятидесяти – с двадцатым. Например, если вы ввели год как
значение 49, будет сохранено значение 2049; если же вы ввели год как
значение 94, будет сохранено значение 1994. Если вы хотите, чтобы век
отличался от установленного по умолчанию, необходимо ввести год
полностью. Кроме этого, год необходимо вводить полностью в том
слу-
чае, если в дате пропущено число. Если вы вводите дату без числа, по
умолчанию это значение будет равно первому числу.
200