Что такое тип данных?
Тип данных определяется как тип данных, которые любой столбец или переменная может хранить в MS SQL Server.
При создании любой таблицы или переменной, помимо указания имени, вы также указываете тип данных, которые он будет хранить.
Как использовать тип данных MS SQL
- Необходимо заранее определить тип данных, которые может хранить столбец или переменная. Определение типа данных также ограничивает пользователя от ввода любых неожиданных или недействительных данных.
- Вы можете эффективно использовать память, назначая соответствующий тип данных переменной или столбцу, который будет выделять только необходимый объем системной памяти для данных соответствующего столбца.
- MS SQL предлагает широкую категорию типов данных в соответствии с потребностями пользователя. Как дата, двоичные изображения и т. Д.
В этом уроке вы узнаете:
Зачем использовать DataTypes?
Давайте возьмем образец простой страницы регистрации приложения веб-сайта. Три поля ввода: Имя, Фамилия и Контактный номер.
Здесь следует отметить, что в режиме реального времени:
- «Имя / Фамилия» всегда будет буквенным .
- «Контакт» всегда будет числовым .
- Из приведенного выше рисунка стоит указать «Имя / Фамилия» как символ, а « Контакт» — как целое число .
Очевидно, что в любом приложении все поля имеют один или другой тип данных. Например, числовой, буквенный, дата и многое другое.
Также обратите внимание, что разные типы данных имеют разные требования к памяти. Поэтому имеет смысл определить столбец или переменную с типом данных, который он будет хранить для эффективного использования памяти.
Тип данных доступен в MS SQL
Сервер MS SQL поддерживает следующие категории типа данных:
- Точное число
- Приблизительный числовой
- Дата и время
- Строки символов
- Строки символов Unicode
- Двоичные строки
- Другие типы данных
Точное число
Точное число имеет девять типов типов данных.
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
BIGINT | Он хранит целые числа в указанном диапазоне | -2 ^ 63 (-9 223 372, 036 854 775 808) | 2 ^ 63−1 (−9 223 372, 036 854 775 807) | 8 байт |
ИНТ | Он хранит целые числа в указанном диапазоне | −2 ^ 31 (-2,147, 483,648) | 2 ^ 31−1 (-2,147, 483,647) | 4 байта |
SMALLINT | Он хранит целые числа в указанном диапазоне | −2 ^ 15 (−32,767) | 2 ^ 15 (−32 768) | 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 | 8 байт |
smallmoney | Использованные денежные данные | -214,478.3648 | +214,478.3647 | 4 байта |
Примеры:
Запрос:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Выход: 2
Синтаксис: десятичный (P, S)
Вот,
- Точность
- S это масштаб
Запрос:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Выход: 2.31
Приблизительный Числовой
Приближенная числовая категория включает в себя числа с плавающей запятой и действительные значения. Они в основном используются в научных расчетах.
Тип данных | Описание | Нижний предел | Верхний предел | Память | точность |
---|---|---|---|---|---|
Поплавок (п) | Используется для числа с плавающей точностью | -1.79E + 308 | 1.79E + 308 | Зависит от значения n | 7 цифр |
реальный | Используется для числа с плавающей точностью | -3.40E + 38 | 3.40E + 38 | 4 байта | 15-значный |
Syntax: FLOAT [(n)]
Здесь n — это количество битов, которые используются для хранения мантиссы с плавающей точкой в научной записи. По умолчанию значение n равно 53.
Когда пользователь определяет тип данных, такой как float, n должно быть значением от 1 до 53.
SQL Server обрабатывает п , как один из двух возможных значений. Если 1 <= n <= 24, n рассматривается как 24. Если 25 <= n <= 53, n рассматривается как 53.
Пример запроса:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Выход: 22.1234
Дата и время
Здесь хранятся данные типа Дата и время.
Тип данных | Описание | Размер хранилища | точность | Нижний диапазон | Верхний Диапазон |
---|---|---|---|---|---|
DateTime | Используется для указания даты и времени с 1 января 1753 года по 31 декабря 9999 года. Точность составляет 3,33 миллисекунды. | 8 байт | Округлено с шагом .000, .003, .007 | 1753-01-01 | 9999-12-31 |
smalldatetime | Используется для указания даты и времени с 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 |
DateTimeOffset | Подобно времени данных, но имеет смещение часового пояса | 10 байт | 100 наносекунд | 0001-01-01 | 9999-12-31 |
datetime2 | Используется для указания даты и времени с 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»
Строки символов
Эта категория относится к типу символов. Это позволяет пользователю определять тип данных символа, который может быть фиксированной и переменной длины. Он имеет четыре вида типов данных.
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
голец | Это строка символов с фиксированной шириной. Он хранит не более 8000 символов. | 0 символов | 8000 символов | n байтов |
VARCHAR | Это строка символов с переменной шириной | 0 символов | 8000 символов | n байтов + 2 байта |
VARCHAR (Макс) | Это строка символов с переменной шириной. Он хранит не более 1 073 741 824 символов. | 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
Вывод: это тип данных персонажа
Строки символов Unicode
В этой категории хранится весь диапазон символов Unicode, который использует кодировку UTF-16.
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
NCHAR | Это строка Unicode фиксированной ширины | 0 символов | 4000 символов | 2 раза n байтов |
NVARCHAR | Это строка Юникода переменной ширины | 0 символов | 4000 символов | 2 раза n байтов + 2 байта |
NTEXT | Это строка Юникода переменной ширины | 0 символов | 1 073 741 823 символа | 2 раза длина строки |
Пример запроса:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Вывод: это nCharacter Datatype
Двоичная строка
Эта категория содержит двоичную строку фиксированной и переменной длины.
Тип данных | Описание | Нижний предел | Верхний предел | Память |
---|---|---|---|---|
двоичный | Это двоичная строка фиксированной ширины. Он хранит максимум 8 000 байтов. | 0 байт | 8000 байт | n байтов |
VARBINARY | Это двоичная строка переменной ширины. Он хранит максимум 8000 байт | 0 байт | 8000 байт | Фактическая длина введенных данных + 2 байта |
образ | Это двоичная строка переменной ширины. Он хранит максимум 2 ГБ. | 0 байт | 2 147 483 647 байт |
Пример запроса:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Выход: 0x000C
Другие типы данных
Это другие типы данных с описанием ниже:
Тип данных | Описание |
---|---|
Курсор | Его вывод представляет собой столбец sp_cursor_list и sp_describe_cursor. Возвращает имя переменной курсора. |
Версия строки | Это версия маркирует строки таблицы. |
hierarchyid` в | Этот тип данных представляет позицию в иерархии |
Уникальный идентификатор | Преобразование из символьного выражения. |
sQL_VARIANT | Он хранит значения типов данных, поддерживаемых сервером SQL. |
XML | Он хранит данные XML в столбце. |
Тип пространственной геометрии | Он представляет данные в плоской системе координат. |
Тип пространственной географии | Он представляет данные в круговой системе координат. |
Таблица | Он хранит набор результатов для последующей обработки. |
Интересные факты!
- Тип данных CHAR быстрее, чем VARCHAR при получении данных.
Резюме:
- Каждый столбец в таблицах определяется своим типом данных при создании таблицы.
- Существует шесть основных категорий и еще одна категория. Другие разные имеют девять подкатегорий доступных типов данных.