Типы данных SQL Server: Varchar, Numeric, Date Time (примеры T-SQL)

Что такое Datatype?

Тип данных определяется как тип данных, которые любой столбец или переменная может хранить в MS SQL Server.

При создании любой таблицы или переменной, помимо указания имени, вы также устанавливаете тип данных, которые она будет хранить.

Как использовать тип данных MS SQL

  • Вам необходимо заранее определить тип данных, которые может хранить столбец или переменная. Определение типа данных также запрещает пользователю вводить какие-либо неожиданные или недопустимые данные.
  • Вы можете эффективно использовать память, назначив соответствующий тип данных переменной или столбцу, который будет выделять только необходимый объем системной памяти для данных соответствующего столбца.
  • MS SQL предлагает широкую категорию типов данных в соответствии с потребностями пользователя. Например, Дата, двоичные изображения и т. Д.

В этом руководстве вы узнаете:

  • Что такое Datatype?
    • Как использовать тип данных MS SQL
  • Зачем использовать DataTypes?
    • Точное число
    • Приблизительное числовое значение
    • Дата и время
    • Строки символов
    • Строки символов Юникода
    • Двоичная строка
    • Другие типы данных

Зачем использовать DataTypes?

Давайте возьмем образец простой страницы регистрации веб-приложения. Три поля ввода: Имя, Фамилия и Контактный номер.

Здесь следует отметить, что в реальном времени:

  • «Имя / Фамилия» всегда будет буквенным .
  • «Контакт» всегда будет числовым .

  • На картинке выше стоит определить «Имя / Фамилия» как символ, а « Контакт» - как целое число .

Очевидно, что в любом приложении все поля содержат тот или иной тип данных. Например, числовые, буквенные, дата и многое другое.

Также обратите внимание, что разные типы данных имеют разные требования к памяти. Следовательно, имеет смысл определить столбец или переменную с типом данных, который они будут хранить для эффективного использования памяти.

Тип данных, доступный в MS SQL

Сервер MS SQL поддерживает следующие категории типов данных:

  • Точное числовое
  • Приблизительное числовое значение
  • Дата и время
  • Строки символов
  • Строки символов Юникода
  • Бинарные строки
  • Другие типы данных
Типы данных MSQL

Точное число

Exact numeric имеет девять типов подтипов данных. Точные числовые типы данных

Тип данных Описание Нижний предел Верхний предел объем памяти
Bigint Он хранит целые числа в заданном диапазоне −2 63 (−9 223 372, 036 854 775 808) 2 63-1 (-9,223,372, 036,854,775,807) 8 байт
int Он хранит целые числа в заданном диапазоне −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 = 2PRINT @Datatype_Int

Выход: 2

Синтаксис: десятичный (P, S)

Здесь,

  • P - точность
  • S - масштаб

Запрос:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal

Выход: 2.31

Приблизительное числовое значение

Приблизительная числовая категория включает числа с плавающей запятой и действительные значения. Чаще всего они используются в научных расчетах. Приблизительный числовой тип данных

Тип данных Описание Нижний предел Верхний предел объем памяти Точность
поплавок (n) Используется для числа с плавающей точкой −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 рассматривает n как одно из двух возможных значений. Если 1 <= n <= 24, n обрабатывается как 24. Если 25 <= n <= 53, n обрабатывается как 53.

Пример запроса:

DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float

Выход: 22.1234

Дата и время

В нем хранятся данные типа Дата и время. Тип данных даты и времени

Тип данных Описание Размер хранилища Точность Нижний диапазон Верхний диапазон
DateTime Используется для указания даты и времени с 1 января 1753 г. по 31 декабря 9999 г. Он имеет точность 3,33 миллисекунды. 8 байт Округлено с шагом 0,000, 0,003, 0,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 Подобно datatime, но имеет смещение часового пояса 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 байт
варчар Это символьная строка переменной ширины. 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

Вывод: это тип данных символа.

Строки символов Юникода

В этой категории хранится полный диапазон символов Юникода, в котором используется кодировка символов UTF-16. Типы данных символьной строки Unicode

Тип данных Описание Нижний предел Верхний предел объем памяти
нчар Это строка 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.

Двоичная строка

Эта категория содержит двоичную строку фиксированной и переменной длины. Типы данных двоичных строк

Тип данных Описание Нижний предел Верхний предел объем памяти
двоичный Это двоичная строка фиксированной ширины. Он хранит максимум 8000 байт. 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 при извлечении данных.

Резюме:

  • Каждый столбец в таблицах определяется своим типом данных во время создания таблицы.
  • Есть шесть основных категорий и одна дополнительная категория. Остальные разные имеют девять подкатегорий типов данных.

Интересные статьи...