Data Types SQL Server

В этом учебном пособии приведен список типов данных, доступных в SQL Server (Transact-SQL), который включает в себя строковые, числовые и дата/время.

Cтроковые типы данных

Ниже приведены строковые типы данных в SQL Server (Transact-SQL):

Синтаксис типа данных Максимальный размер Пояснение
CHAR(size) 8000 символов Где size - количество сохраняемых символов. Фиксированная длина. Если сохраняемое значение короче, то дополняется пробелами. Данные не-Unicode.
VARCHAR(size) или VARCHAR(max) 8000 или max символов Где size - количество сохраняемых символов. Переменная длина. Если указано max, максимальное количество символов - 2 ГБ. Данные не-Unicode.
TEXT 2 ГБ Переменная длина. Данные не-Unicode.
NCHAR(size) 4000 символов Фиксированная длина. Данные Unicode.
NVARCHAR(size) или NVARCHAR(max) 4000 символов или max символов Где size - количество сохраняемых символов. Переменная длина. Если указано max, максимальное количество символов - 2 ГБ. Данные Unicode.
NTEXT 1 073 741 823 байта Переменная длина. Данные Unicode.
BINARY(size) 8000 символов Где size - количество сохраняемых символов. Фиксированная длина. Пространство дополняется справа на символы одинакового размера. Двоичные данные.
VARBINARY(size) или VARBINARY(max) 8000 или max. Символов Где size - количество сохраняемых символов. Переменная длина. Если указано max, максимальное количество символов - 2 ГБ. Недвоичные данные.
IMAGE 2 ГБ Переменная длина. Двоичные данные.

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

Ниже приведены числовые типы данных в SQL Server (Transact-SQL):

Синтаксис типа данных Максимальный размер Пояснение
BIT Целое число, которое может быть 0, 1 или NULL.
TINYINT От 0 до 255
SMALLINT -32768 до 32767
INT -2,147,483,648 до 2,147,483,647
BIGINT -9,223,372,036,854,775,808 - 9,223,372,036,854,775,807
DECIMAL(m,d) m по умолчанию - 18, если не указано.
d по умолчанию равно 0, если не указано.
Где m - это суммарное количество цифр, а d - количество цифр после десятичного знака.
DEC(m,d) m по умолчанию - 18, если не указано.
d по умолчанию равно 0, если не указано.
Где m - это суммарное количество цифр, а d - количество цифр после десятичного знака.
Это синоним типа DECIMAL.
NUMERIC(m,d) m по умолчанию - 18, если не указано. d по умолчанию равно 0, если не указано. Где m - это суммарные цифры, а d - количество цифр после десятичного знака.
Это синоним типа DECIMAL.
FLOAT(n) Число с плавающей точкой. n по умолчанию - 53, если не указано. Где n - количество бит, которое должно храниться в научной нотации.
REAL Эквивалент FLOAT (24)
SMALLMONEY - 214,748.3648 до 214,748.3647
MONEY -922,337,203,685,477,5808 до 922,337,203,685,477.5807

Типы данных Дата / Время

Ниже приведены типы данных даты и времени в SQL Server (Transact-SQL):

Синтаксис типа данных Максимальный размер Пояснение
DATE Диапазон значений от '0001-01-01' до '9999-12-31'. Отображается как 'YYYY-MM-DD'
DATETIME Диапазон значений дат от '1753-01-01 00:00:00' до '9999-12-31 23:59:59'. Диапазон значений времени от '00: 00: 00 'до '23: 59: 59: 997' Отображается как 'YYYY-MM-DD hh:mm:ss[.mmm]'
DATETIME2 Диапазон значений дат от '0001-01-01' до '9999-12-31'. Диапазон значений времени от '00:00:00' до '23:59:59:9999999'. Отображается как 'YYYY-MM-DD hh:mm:ss[.fractional seconds]'
SMALLDATETIME Диапазон значений дат от '1900-01-01' до '2079-06-06'. Диапазон значений времени от '00:00:00' до '23:59:59'. Отображается как 'YYYY-MM-DD hh:mm:ss'
TIME Диапазон значений от '00:00:00.0000000' до '23:59:59.9999999' Отображается как 'YYYY-MM-DD hh:mm:ss[.nnnnnnn]'
DATETIMEOFFSET Диапазон значений дат от '0001-01-01' до '9999-12-31'. Диапазон значений времени от '00:00:00' до '23:59:59:9999999'. Диапазон смещения часового пояса от -14:00 до +14:00. Отображается как 'YYYY-MM-DD hh:mm:ss[.nnnnnnn]' [{+|-}hh:mm]