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