Типи даних SQL Server із прикладами

Що таке тип даних?

A Тип даних на сервері SQL визначається як тип даних, які може зберігати будь-який стовпець або змінна. Це тип даних, які зберігає об’єкт, як-от ціле число, символ, рядок тощо. Створюючи будь-яку таблицю чи змінну, окрім вказівки назви, ви також установлюєте тип даних, які вона зберігатиме.

Як використовувати тип даних MS SQL

  • Потрібно заздалегідь визначити тип даних, які може зберігати стовпець або змінна. Визначення типу даних також обмежує користувача від введення будь-яких неочікуваних або недійсних даних.
  • Ви можете ефективно використовувати пам’ять, призначивши відповідний тип даних змінній або стовпцю, який виділить лише необхідний обсяг системної пам’яті для даних відповідного стовпця.
  • MS SQL пропонує широку категорію основних типів даних у SQL відповідно до потреб користувача, таких як дата, двійкові зображення тощо.

Навіщо використовувати DataTypes?

Давайте візьмемо простий зразок Сторінка реєстрації програми веб-сайту. Три поля введення: ім’я, прізвище та контактний номер.

Тут слід зазначити, що в режимі реального часу:

  • «Ім’я/Прізвище» завжди буде алфавітна.
  • “Контакт” завжди буде числовий.
Типи даних SQL Server
Приклад типів даних у MS SQL
  • З наведеного вище малюнка варто визначити «Ім’я/Прізвище» як характер та “Контакт” як ціле.

Очевидно, що в будь-якій програмі всі поля мають той чи інший тип даних. Наприклад, цифри, букви, дата та багато іншого.

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

Тип даних доступний у MS SQL Server

Ось список типів даних сервера MS SQL:

MS SQL сервер підтримують такі категорії типів даних:

  • Точна цифра
  • Приблизне числове
  • Дата і час
  • Рядки символів
  • Рядки символів Unicode
  • Двійкові рядки
  • Інші типи даних
Тип даних доступний у MS SQL Server

Типи даних 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 XNUMX) 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 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 здебільшого використовуються в наукових розрахунках.

Приблизний числовий тип даних

Тип даних Описи конструкції Нижня межа Верхня межа пам'ять Точність
float(n) Використовується для числа з плаваючою точністю −1.79E+308 1.79 + 308 Залежить від значення n 7 Digit
реальний Використовується для числа з плаваючою точністю −3.40E+38 3.40 + 38 4 байт 15 Digit
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.1234
PRINT @Datatype_Float

Вихід

22.1234

Типи даних дати та часу в SQL

Він зберігає дані типу Дата і час.

Тип даних «Дата й час».

Тип даних Описи конструкції Розмір зберігання Точність Нижній діапазон Верхній діапазон
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 Подібно до 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'

Типи даних символьних рядків у SQL

Ця категорія пов'язана з типом персонажа. Це дозволяє користувачеві визначати тип даних символу, який може мати фіксовану та змінну довжину. Він має чотири типи даних. Нижче наведено типи даних SQL-сервера символьного рядка з прикладами.

Типи даних символьних рядків

Тип даних Описи конструкції Нижня межа Верхня межа пам'ять
бак Це рядок символів із фіксованою шириною. Він зберігає максимум 8,000 символів. 0 символів 8000 символів n байт
varchar Це рядок символів зі змінною шириною 0 символів 8000 символів n байт + 2 байти
varchar (макс.) Це рядок символів зі змінною шириною. Він зберігає максимум 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

Вихід

Це символьний тип даних

Типи даних рядків символів Unicode в SQL

У цій категорії зберігається повний діапазон символів Unicode, які використовують кодування UTF-16.

Типи даних рядків символів Unicode

Тип даних Описи конструкції Нижня межа Верхня межа пам'ять
nchar Це рядок Unicode фіксованої ширини 0 символів 4000 символів 2 рази на n байт
нварчар Це рядок Unicode змінної ширини 0 символів 4000 символів 2 рази на n байтів + ​​2 байти
ntext Це рядок Unicode змінної ширини 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 server.
XML Він зберігає дані XML у стовпці.
Тип просторова геометрія Він представляє дані в плоскій системі координат.
Тип просторова географія Він представляє дані в навколоземній системі координат.
таблиця Він зберігає набір результатів для подальшої обробки.

Цікаві факти!

  • Тип даних CHAR є швидшим за тип даних SQL VARCHAR під час отримання даних.

Підсумки

  • Кожен стовпець у таблицях визначає свій тип даних під час створення таблиці.
  • Існує шість основних категорій і ще одна різна категорія. Інше різне має дев'ять підкатегорій SQL-сервер доступні типи та розміри даних.