Типы данных SQL Server с примерами
Что такое тип данных?
A Тип данных в SQL-сервере определяется как тип данных, которые может хранить любой столбец или переменная. Это тип данных, которые объект хранит, например целое число, символ, строка и т. д. При создании любой таблицы или переменной помимо указания имени вы также задаете тип данных, которые она будет хранить.
Как использовать тип данных MS SQL
- Вам необходимо заранее определить тип данных, которые может хранить столбец или переменная. Определение типа данных также ограничивает пользователя от ввода неожиданных или неверных данных.
- Вы можете эффективно использовать память, назначив соответствующий тип данных переменной или столбцу, который будет выделять только необходимый объем системной памяти для данных соответствующего столбца.
- MS SQL предлагает широкую категорию основных типов данных в SQL в соответствии с потребностями пользователя, таких как дата, двоичные изображения и т. д.
Зачем использовать типы данных?
Давайте возьмем пример простого Страница регистрации веб-приложения. Три поля ввода: имя, фамилия и контактный номер.
Здесь следует отметить, что в реальном времени:
- "Первый фамилия" всегда будет буквенный.
- «Контакт» всегда будет числовой.
- По картинке выше стоит определить "Первый фамилия" как персонаж и «Контакт» как целое.
Очевидно, что в любом приложении все поля содержат тот или иной тип данных. Например, числовые, буквенные, даты и многое другое.
Также обратите внимание, что разные типы данных имеют разные требования к памяти. Поэтому имеет смысл определить столбец или переменная с типом данных, который он будет хранить, для эффективного использования памяти.
Тип данных, доступный в MS SQL Server
Вот список типов данных сервера MS SQL:
Сервер MS SQL поддержка следующих категорий типов данных:
- Точное число
- Примерное числовое значение
- Дата и время
- Строки символов
- Строки символов Юникода
- Двоичные строки
- Другие типы данных
Точные числовые типы данных в SQL
Exact numeric имеет девять типов подтипов данных на сервере SQL.
Точные числовые типы данных
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
BIGINT | Он хранит целые числа в заданном диапазоне | -2^63 (-9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^63−1 (−9,223,372, 036,854,775,807) | 8 байт |
Int | Он хранит целые числа в заданном диапазоне | -2^31 (-2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^31−1 (−2,147, 483,647) | 4 байт |
SMALLINT | Он хранит целые числа в заданном диапазоне | −2^15 (−32,767) | 2 ^ 15 (-32,768 XNUMX) | 2 байт |
TINYINT | Он хранит целые числа в заданном диапазоне | 0 | 255 | 1 байт |
бит | Он может принимать значения 0, 1 или NULL. | 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, XNUMX XNUMX | 8 байт |
маленькие деньги | Используемые денежные данные | -214,478.3648 | +214,478.3647 | 4 байт |
Точные числовые типы данных в SQL сервер с примерами:
Запрос:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Результат
2
Синтаксис
Десятичный (P,S)
Здесь,
- P — точность
- S — масштаб
Запрос:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Результат
2.31
Приблизительные числовые типы данных в SQL
SQL Приблизительная числовая категория включает значения с плавающей запятой и действительные значения. Эти типы данных в SQL в основном используются в научных расчетах.
Приблизительный числовой тип данных
Тип данных | Описание | Нижний предел | Верхний предел | Память | Точность |
---|---|---|---|---|---|
плавающий (н) | Используется для чисел с плавающей точностью. | −1.79E+308 | 1.79E + 308 | Зависит от значения n | 7 Digit |
реальные | Используется для чисел с плавающей точностью. | −3.40E+38 | 3.40E + 38 | 4 байт | 15 Digit |
Syntax: FLOAT [(n)]
Здесь, n количество битов, которые используются для хранения мантиссы плавать число в научной записи. По умолчанию значение n равно 53.
Когда пользователь определяет тип данных, например float, n должно быть значение от 1 до 53.
SQL-сервер лечит n как одно из двух возможных значений. Если 1<=n<=24, n рассматривается как 24. Если 25<=n<=53, n рассматривается как 53.
Пример запроса:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Результат
22.1234
Типы данных даты и времени в SQL
Он хранит данные типа Дата и время.
Тип данных даты и времени
Тип данных | Описание | Размер хранилища | точность | Нижний диапазон | Верхний диапазон |
---|---|---|---|---|---|
DateTime | Используется для указания даты и времени с 1 января 1753 года по 31 декабря 9999 года. Точность составляет 3.33 миллисекунды. | 8 байт | Округлено с шагом 000, 003, 007. | 1753-01-01 | 9999-12-31 |
маленькая дата и время | Используется для указания даты и времени с 1 января 0001 года по 31 декабря 9999 года. Имеет точность 100 наносекунд. | 4 байта, фиксированный | 1 минут | 1900-01-01 | 2079-06-06 |
даты | Используется для хранения только дат с 1 января 0001 г. по 31 декабря 9999 г. | 3 байта, фиксированный | 1 день | 0001-01-01 | 9999-12-31 |
время | Используется для хранения только значений времени с точностью до 100 наносекунд. | 5 байт | 100 наносекунд | 00:00:00.0000000 | 23:59:59.9999999 |
смещение даты и времени | Похож на datatime, но имеет смещение часового пояса. | 10 байт | 100 наносекунд | 0001-01-01 | 9999-12-31 |
дата и время2 | Используется для указания даты и времени с 1 января 0001 года по 31 декабря 9999 года. | 6 байт | 100 наносекунд | 0001-01-01 | 9999-12-31 |
Пример запроса:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Результат
'2030-01-01'
Типы данных символьных строк в SQL
Эта категория связана с типом персонажа. Это позволяет пользователю определить тип данных символа, который может иметь фиксированную и переменную длину. Он имеет четыре типа типов данных. Ниже приведены типы данных SQL-сервера символьной строки с примерами.
Типы данных символьных строк
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
колесница | Это строка символов фиксированной ширины. Он хранит максимум 8,000 символов. | 0 символов | 8000 символов | n байт |
варчар | Это строка символов переменной ширины. | 0 символов | 8000 символов | n байт + 2 байта |
варчар (макс.) | Это строка символов переменной ширины. Он хранит максимум 1,073,741,824 XNUMX XNUMX XNUMX символа. | 0 символов | 2^31 символ | n байт + 2 байта |
текст | Это строка символов переменной ширины. Он хранит максимум 2 ГБ текстовых данных. | 0 символов | 2,147,483,647 символов | n байт + 4 байта |
Пример запроса:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Результат
Это символьный тип данных
Типы данных строк символов Юникода в SQL
В этой категории хранится полный спектр символов Юникода, использующих кодировку символов UTF-16.
Типы данных строк символов Юникода
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
нчар | Это строка Unicode фиксированной ширины. | 0 символов | 4000 символов | 2 раза n байт |
нварчар | Это строка Юникода переменной ширины. | 0 символов | 4000 символов | 2 раза n байт + 2 байта |
текст | Это строка Юникода переменной ширины. | 0 символов | 1,073,741,823 знаков | в 2 раза больше длины строки |
Пример запроса:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Результат
Это тип данных nCharacter
Типы данных двоичной строки в SQL
Эта категория содержит двоичную строку фиксированной и переменной длины.
Типы данных двоичной строки
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
двоичный | Это двоичная строка фиксированной ширины. Он хранит максимум 8,000 байт. | 0 байт | 8000 байт | n байт |
варбинарный | Это двоичная строка переменной ширины. Он хранит максимум 8,000 байт. | 0 байт | 8000 байт | Фактическая длина введенных данных + 2 байта |
изображение | Это двоичная строка переменной ширины. Он хранит максимум 2 ГБ. | 0 байт | 2,147,483,647 байт |
Пример запроса:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Результат
0x000C
Другие типы данных в SQL
Это другие типы данных SQL-сервера, описание которых приведено ниже:
Тип данных | Описание |
---|---|
Курсор | Его вывод представляет собой столбец sp_cursor_list и sp_describe_cursor. Он возвращает имя курсорной переменной. |
Версия строки | Эта версия штампует строки таблицы. |
Иерархия | Этот тип данных представляет позицию в иерархии. |
Уникальный идентификатор | Преобразование из символьного выражения. |
Sql_variant | Он хранит значения типов данных, поддерживаемых SQL-сервером. |
XML | Он хранит данные XML в столбце. |
Тип пространственной геометрии | Он представляет данные в плоской системе координат. |
Тип пространственной географии | Он представляет данные в круглоземной системе координат. |
(см. таблицу ниже) | Он сохраняет набор результатов для последующей обработки. |
Интересные факты!
- Тип данных CHAR быстрее, чем тип данных SQL VARCHAR при получении данных.
Итого
- Каждый столбец в таблицах определяется своим типом данных во время создания таблицы.
- Существует шесть основных категорий и еще одна дополнительная категория. Прочее разное имеет девять подкатегорий. SQL сервер доступные типы и размеры данных.