В этом учебном пособии приведен список типов данных, доступных в 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] |