Типы данных SQL-сервера

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

Обзор типов данных SQL Server

В SQL Server столбец, переменная и параметр содержат значение, связанное с типом, или также известное как тип данных. Тип данных — это атрибут, который указывает тип данных, которые могут хранить эти объекты. Это может быть целое число, строка символов, денежный показатель, дата и время и т. д.

SQL Server предоставляет список типов данных, определяющих все типы данных, которые можно использовать, например, при определении столбца или объявлении переменной.

На следующем рисунке показана система типов данных SQL Server:

Типы данных SQL-сервера

Обратите внимание, что SQL Server удалит типы данных ntext, text и image в своей будущей версии. Поэтому вам следует избегать использования этих типов данных и вместо них использовать типы данных nvarchar(max), varchar(max) и varbinary(max).

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

Точные числовые типы данных хранят точные числа, такие как целые числа, десятичные дроби или денежные суммы.

  • Бит хранит одно из трех значений 0, 1 и NULL.
  • Типы данных int, bigint, smallint и tinyint хранят целочисленные данные.
  • Типы данных decimal и numeric хранят числа, имеющие фиксированную точность и масштаб. Обратите внимание, что decimal и numeric являются синонимами.
  • Типы данных money и smallmoney хранят значения валют.

В следующей таблице приведены характеристики конкретных числовых типов данных:

Тип данных Нижний предел Верхний предел Память
bigint −2^63(−9 223 372, 036 854 775 808) 2 ^ 63−1(−9 223 372, 036 854 775 807) 8 байт
инт −2^31(−2,147,483,648) 2^31−1(−2,147, 483,647) 4 байта
маленький −2^15(−32,767) 2^15(−32,768) 2 байта
крошечныйинт 0 255 1 байт
кусочек 0 1 1 байт/8 бит столбец
десятичный −10^38+1 10^381−1 от 5 до 17 байт
числовой −10^38+1 10^381−1 от 5 до 17 байт
деньги −922,337,203,685,477.5808 +922,337, 203, 685,477.5807 8 байт
smallmoney −214,478.3648 +214,478.3647 4 байта

Приблизительные числовые типы данных

Приблизительный числовой тип данных хранит числовые данные с плавающей точкой. Они часто используются в научных расчетах.

Тип данных Нижний предел Верхний предел Память Точность
плавающий(n) −1.79E+308 1.79E+308 Зависит от значения n 7-значный
настоящий −3.40E+38 3.40E+38 4 байта 15-значный

Типы данных «Дата и время»

Типы данных даты и времени хранят данные о дате и времени, а также смещение даты и времени.

Тип данных Размер хранилища Точность Нижний диапазон Верхний диапазон
дата и время 8 байт Округлено с шагом .000, .003, .007 1753-01-01 9999-12-31
smalldatetime 4 байта, фиксированный 1 минута 1900-01-01 2079-06-06
дата 3 байта, фиксированный 1 день 0001-01-01 9999-12-31
время 5 байт 100 наносекунд 00:00:00.0000000 23:59:59.9999999
датавремясмещение 10 байт 100 наносекунд 0001-01-01 9999-12-31
датавремя2 6 байт 100 наносекунд 0001-01-01 9999-12-31

Если вы разрабатываете новое приложение, вам следует использовать типы данных time, date, datetime2 и datetimeoffset. Поскольку эти типы соответствуют стандарту SQL и более переносимы. Кроме того, time, datetime2 и datetimeoffset имеют большую точность секунд, а datetimeoffset поддерживает часовой пояс.

Типы данных строк символов

Типы данных символьных строк позволяют хранить данные как фиксированной длины(char), так и переменной длины(varchar). Текстовый тип данных может хранить не-Unicode данные в кодовой странице сервера.

Тип данных Нижний предел Верхний предел Память
1095;ар 0 символов 8000 символов n байт
varchar 0 символов 8000 символов n байт + 2 байта
varchar(макс.) 0 символов 2^31 символ n байт + 2 байта
текст 0 символов 2,147,483,647 символов n байт + 4 байта

Типы данных строк символов Unicode

Типы данных строк символов Unicode хранят данные символов Unicode фиксированной длины(nchar) или переменной длины(nvarchar).

Тип данных Нижний предел Верхний предел Память
нчар 0 символов 4000 символов 2 раза по n байт
nvarchar 0 символов 4000 символов 2 раза по n байт + 2 байта
nтекст 0 символов 1,073,741,823 символа в 2 раза больше длины строки

Типы данных двоичных строк

Двоичные типы данных хранят двоичные данные фиксированной и переменной длины.

Тип данных Нижний предел Верхний предел Память
двоичный 0 байт 8000 байт n байт
варбинарный 0 байт 8000 байт Фактическая длина введенных данных + 2 байта
изображение 0 байт 2,147,483,647 байт

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

Тип данных Описание
курсор для переменных или выходного параметра хранимой процедуры, содержащего ссылку на курсор
rowversion отображать автоматически сгенерированные уникальные двоичные числа в базе данных.
иерархия представляют позицию дерева в иерархии дерева
уникальныйидентификатор 16-байтовый GUID
sql_вариант хранить значения других типов данных
XML хранить XML-данные в столбце или переменной типа XML
Тип пространственной геометрии представлять данные в плоской системе координат.
Тип пространственной географии хранить эллипсоидальные(круглые) данные, такие как координаты широты и долготы GPS.
стол временно сохранить набор результатов для обработки в более позднее время

В этом руководстве вы узнали о кратком обзоре типов данных SQL Server. Мы подробно рассмотрим каждый тип данных в следующих руководствах.

Мирослав С.

Автор статей, ИБ-специалист