English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Следующие разделы описывают поддерживаемые SQL Server типы данных.
Microsoft SQL Server поддерживаемые типы данных можно разделить на три основные категории:строка,числоиДата/времяТип данных.
Тип данных строк обычно используется для хранения имен, адресов, описаний или любого значения, содержащего буквы и цифры, включая двоичные данные, такие как изображения или аудиофайлы.
Тип данных | Описание |
---|---|
char(n) | Хранение строк фиксированной длины. Максимальная длина - 8000 символов. |
varchar(n) | Хранение строк переменной длины. Максимальная длина - 8000 символов. |
varchar(max) | Хранение строк переменной длины. Здесь max означает, что максимальный размер хранения составляет 2 ГБ. |
text | Хранение строк переменной длины. Максимальный размер хранения - 2 ГБ. |
nchar | Хранение строк Unicode фиксированной длины. Максимальная длина - 4000 символов. |
nvarchar | Хранение строк Unicode переменной длины. Максимальная длина - 4000 символов. |
nvarchar(max) | Хранение строк Unicode переменной длины. Здесь max означает, что максимальный размер хранения составляет 2 ГБ. |
ntext | Хранение строк Unicode переменной длины. Максимальный размер хранения - 2 ГБ. |
binary(n) | Хранение двоичных данных фиксированной длины. Максимальный размер хранения - 8000 байт. |
varbinary(n) | Хранение двоичных данных переменной длины. Максимальный размер хранения - 8000 байт. |
varbinary(max) | Хранение двоичных данных переменной длины. Здесь max означает, что максимальный размер хранения составляет 2 ГБ. |
image | Хранение двоичных данных переменной длины. Максимальный размер хранения - 8000 байт. |
Тип данных с числовыми значениями обычно используется для хранения цен, зарплат и т.д.
Тип данных | Описание |
---|---|
bit | Позволяет хранить значения 1, 0 илиNULL. |
tinyint | Хранение целых значений в диапазоне от 0 до 255. |
smallint | Хранение целых значений в диапазоне от -32,768 до 32,767. |
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(p,s) | Хранение фиксированной точности и位数 после запятой. Допустимые значения - 10 ^38 +1 до 10 |
numeric(p,s) | Тип данных numeric функционально эквивалентен decimal. |
smallmoney | Позволяет точно хранить значения денег или значения денег, в диапазоне от -214,748,3648 до 214,748,3647. |
money | Позволяет точно хранить значения денег или денежных значений, диапазон от -922,337,203,685,477.5808 до 922,337,203,685,477.5807. |
float(n) | Сохранение значений плавающей точки. Допустимые значения от -1.79E + 308 до -2.23E-308, 0 и от 2.23E-308 до 1.79E + 308. |
real | Сохранение значений плавающей точки. Допустимые значения от -3.40E + 38 до -1.18E-38, 0 и от 1.18E-38 до 3.40E + 38. |
При определении столбца decimal или numeric можно указать точность и количество десятичных знаков, например decimal(p,s) или numeric(p,s), где p или точность показывает максимальное количество знаков, включая слева и справа от точки. Точность должна быть в диапазоне от 1 до 38.По умолчанию точность составляет 18.
аsили scale показывает максимальное количество знаков после запятой. От p вычесть этот номер, чтобы определить максимальное количество знаков перед запятой. Количество десятичных знаков должно быть в диапазоне от 0 до p. По умолчанию scale равно 0.
Например, столбец price decimal(6,2) может хранить любое значение с шестью цифрами и двумя десятичными знаками, то есть от -9999.99 до 9999.99.
Тип данных дата и время обычно используется для хранения данных, таких как дата рождения, дата найма, дата создания или обновления записи в таблице и т.д.
Тип данных | Описание |
---|---|
date | Сохранение значений даты, диапазон от 0001-01-01 (1 января, январь) до 9999-12-31 (31 декабря 9999 года). |
time | Сохранение времени в течение дня с точностью 100 нанoseconds. Допустимые значения от 00:00:00.0000000 до 23:59:59.9999999. |
datetime | Сохранение комбинированных значений даты и времени с точностью 3.33 миллисекунды. Допустимый диапазон дат datetime с 1753-01-01 (1 января 1753 года) до 9999-12-31 (31 декабря 9999 года). |
datetime2 | datetime2 расширение типа данных datetime, которое имеет больший диапазон дат. Допустимый диапазон дат datetime2 с 0001-01-01 (1 января 1 года) до 9999-12-31 (31 декабря 9999 года). |
smalldatetime | Сохранение комбинированных значений даты и времени с точностью 1 минуты. Допустимый диапазон дат smalldatetime с 1900-01-01 (1 января 1900 года) до 06.06.2079 (6 июня 2079 года). |
datetimeoffset | Таким же образом, как добавление времени с часовым поясом к datetime2. По умолчанию формат: YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]. Допустимый диапазон часового пояса: от -14:00 до +14:00. |
timestamp | В SQL Server время戳 является синонимом типа данных rowversion, который автоматически создает уникальное двоичное число в базе данных. rowversion обычно используется для маркеров версии строк таблицы |
Внимание:Каждый раз, когда в таблице вставляется или изменяется строка с столбцом rowversion, значение rowversion, увеличивающееся в базе данных, вставляется в столбец rowversion. В таблице может быть только один столбец rowversion.