Поиск…


Вступление

В этом разделе обсуждаются типы данных, которые может использовать SQL Server, включая их диапазон данных, длину и ограничения (если они есть).

Точные числа

Существует два основных класса точных числовых типов данных - Integer и Fixed Precision and Scale .

Целочисленные типы данных

  • немного
  • TINYINT
  • SMALLINT
  • ИНТ
  • BIGINT

Целые числа - это числовые значения, которые никогда не содержат дробную часть и всегда используют фиксированный объем хранилища. Диапазоны и размеры хранилища целых типов данных показаны в этой таблице:

Тип данных Спектр Место хранения
немного 0 или 1 1 бит **
TINYINT От 0 до 255 1 байт
SMALLINT -2 ^ 15 (-32,768) до 2 ^ 15-1 (32,767) 2 байта
ИНТ -2 ^ 31 (-2,147,483,648) до 2 ^ 31-1 (2,147,483,647) 4 байта
BIGINT -2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807) 8 байт

Фиксированные точные и масштабируемые типы данных

  • числовой
  • десятичный
  • smallmoney
  • Деньги

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

Обратите внимание, что десятичные и числовые являются синонимами для одного и того же типа данных.

Тип данных Спектр Место хранения
Десятичный [(p [, s])] или числовой [(p [, s])] -10 ^ 38 + 1 до 10 ^ 38 - 1 См. Таблицу точности

При определении десятичного или числового типа данных вам может потребоваться указать Precision [p] и Scale [s].

Точность - это количество цифр, которое можно сохранить. Например, если вам нужно хранить значения от 1 до 999, вам потребуется точность 3 (чтобы удерживать три цифры в 100). Если вы не указали точность, то по умолчанию используется значение 18.

Масштаб - это количество цифр после десятичной точки. Если вам нужно сохранить число от 0,00 до 999,99, вам нужно указать точность 5 (пять цифр) и шкалу 2 (две цифры после десятичной точки). Вы должны указать точность, чтобы указать масштаб. Шкала по умолчанию равна нулю.

Точность десятичного или числового типа данных определяет количество байтов, необходимых для хранения значения, как показано ниже:

Точный стол

точность Байт памяти
1 - 9 5
10-19 9
20-28 13
29-38 17

Денежные фиксированные типы данных

Эти типы данных предназначены специально для учета и других денежных данных. У этих типов есть фиксированная шкала 4 - вы всегда будете видеть четыре цифры после десятичной точки. Для большинства систем, работающих с большинством валют, будет достаточно числового значения с шкалой 2. Обратите внимание, что информация о типе представленной валюты не хранится со значением.

Тип данных Спектр Место хранения
Деньги -922,337,203,685,477,5808 до 922,337,203,685,477.5807 8 байт
smallmoney -214,748.3648 до 214,748.3647 4 байта

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

  • float [( n )]
  • реальный

Эти типы данных используются для хранения чисел с плавающей запятой. Поскольку эти типы предназначены для размещения только приблизительных числовых значений, они не должны использоваться в тех случаях, когда любая ошибка округления неприемлема. Однако, если вам нужно обрабатывать очень большие числа или цифры с неопределенным числом цифр после десятичного знака, это может быть вашим лучшим вариантом.

Тип данных Спектр Размер
поплавок -1,79E + 308-2,23E-308, 0 и 2,23E-308 до 1,79E + 308 зависит от n в таблице ниже
реальный -3.40E + 38 до -1.18E - 38, 0 и 1.18E - от 38 до 3.40E + 38 4 байта

n таблица значений для чисел с плавающей точкой . Если в объявлении float не указано значение, будет использоваться значение по умолчанию 53. Обратите внимание, что float (24) является эквивалентом реального значения.

n значение точность Размер
1-24 7 цифр 4 байта
25-53 15 цифр 8 байт

Дата и время

Эти типы находятся во всех версиях SQL Server

  • Дата и время
  • smalldatetime

Эти типы находятся во всех версиях SQL Server после SQL Server 2012

  • Дата
  • DateTimeOffset
  • datetime2
  • время

Строки символов

  • голец
  • VARCHAR
  • текст

Строки символов Unicode

  • NCHAR
  • NVARCHAR
  • NTEXT

Бинарные строки

  • двоичный
  • VARBINARY
  • образ

Другие типы данных

  • курсор
  • отметка времени
  • `hierarchyid`
  • уникальный идентификатор
  • sql_variant
  • XML
  • Таблица
  • Пространственные типы


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow