Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу ИСиТ.docx
Скачиваний:
6
Добавлен:
07.02.2024
Размер:
1.07 Mб
Скачать

Приблизительные числа

Типы приблизительных числовых данных, используемые для хранения числовых данных с плавающей запятой. Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно.

Тип данных

Диапазон

Объем памяти

float

- 1,79E+308 — -2,23E-308, 0 и 2,23E-308 — 1,79E+308

Зависит от значения n

real

- 3,40E + 38 — -1,18E - 38, 0 и 1,18E - 38 — 3,40E + 38

4 байта

float [ (n) ]

Где n – это количество битов, используемых для хранения мантиссы числа в формате float при экспоненциальном представлении. Определяет точность данных и размер для хранения. Значение параметра n должно лежать в пределах от 1 до 53. Значением по умолчанию для параметра n является 53.

n

Точность

Объем памяти

1–24

7 знаков

4 байта

25–53

15 знаков

8 байт

Дата и время

В предыдущих версия Microsoft SQL Server существовали только два типа, обеспечивавших хранение дат и времени: datetime и smalldatetime.

При разработке реальных приложений часто приходилось сталкиваться с практическими ограничениями этих типов. Поскольку оба типа предназначены для хранения даты и времени, при необходимости хранить только дату или только время приходилось оговаривать фиксированную часть. Например, если необходимо хранить только время, для даты можно выбрать фиксированное значение 01-01-2010. Недостатком такого подхода является усложнение логики приложения, поскольку при изменении значений каждый раз необходимо дату на соответствие 01-01-2010. В противном случае возможны некорректные сравнения, если не совпадает дата.

Тип данных

Диапазон дат

Диапазон времени

Объем памяти

Максимальная Точность

datetime

От 01.01.1753 до 31.12.9999

От 00:00:00 до 23:59:590,997

8 байт

Округлено до приращения 0,000, 0,003 или 0,007 секунд

smalldatetime

От 01.01.1900 до 06.06.2079

От 00:00:00 до 23:59:59

4 байта, фиксированный.

Одна минута

date

От 01.01.0001 до 31.12.9999

3 байта, фиксированный

Один день

time [(0-7)]

От 00:00:00 до 23:59:59.9999999

3-5 байт, зависит от точности

100 наносекунд

datetime2 [(0-7)]

От 01.01.0001 до 31.12.9999

От 00:00:00 до 23:59:59.9999999

6 байт для 2 и менее цифр, 7 байт для 3 и 4 цифр. 8 байт.

100 наносекунд

Datetimeoffset [(0-7)]

Учитывает часовой пояс

От 01.01.0001 до 31.12.9999

От 00:00:00 до 23:59:59.9999999

10 байт, зависит от точности

100 наносекунд

Типы данных datetime и smalldatetime, существовавшие в предыдущих версиях SQL Server, имели более низкую точность по сравнению с новыми типами, и не имели возможности учитывать часовой пояс.

Символьные строки

char [ ( n ) ]

Символьные данные фиксированной длины, не в Юникоде, с длиной n байт. Значение n должно находиться в интервале от 1 до 8000. Размер хранения данных этого типа равен n байт. Синонимом по стандарту ISO для типа char является character.

varchar [ ( n | max ) ]

Символьные данные переменной длины, не в Юникоде. n может иметь значение от 1 до 8 000. max означает, что максимальный размер хранения равен 2^31-1 байт. Размер хранения равен фактической длине данных плюс два байта. Введенные данные могут иметь длину 0 символов. Синонимами по стандарту ISO для типа varchar являются типы charvarying или charactervarying.

nchar [ ( n ) ]

Символьные данные в Юникоде длиной в n символов. Аргумент n должен иметь значение от 1 до 4000. Размер хранилища вдвое больше n байт. Синонимами по стандарту ISO для типа nchar являются типы national char и national character.

nvarchar [ ( n | max ) ]

Символьные данные в Юникоде переменной длины. Аргумент n может принимать значение от 1 до 4 000. Аргумент max указывает, что максимальный размер хранилища равен 2^31-1 байт. Размер хранилища в байтах вдвое больше числа введенных символов + 2 байта. Введенные данные могут иметь длину в 0 символов. Синонимами по стандарту ISO для типа nvarchar являются типы national char varying и national character varying.

Соседние файлы в предмете Информатика