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

Зміст:

Anonim

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

Тип даних визначається як тип даних, який будь-який стовпець або змінна може зберігати в MS SQL Server.

Під час створення будь-якої таблиці або змінної, крім зазначення назви, ви також встановлюєте Тип даних, які вона буде зберігати.

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

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

У цьому підручнику ви дізнаєтесь:

  • Що таке тип даних?
    • Як використовувати тип даних MS SQL
  • Навіщо використовувати DataTypes?
    • Точне числове
    • Приблизний числовий
    • Дата і час
    • Рядки символів
    • Рядки символів Unicode
    • Бінарний рядок
    • Інші типи даних

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

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

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

  • "Ім'я / Прізвище" завжди буде в алфавітному порядку .
  • "Контакт" завжди буде числовим .

  • З наведеного зображення варто визначити "Ім'я / Прізвище" як символ, а " Контакт" як ціле число .

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

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

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

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

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

Точне числове

Точне числове число містить дев'ять типів типів підданих. Точні числові типи даних

Тип даних Опис Нижня межа Верхня межа Пам'ять
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, 483664) 4 байти
smallint Він зберігає цілі числа в заданому діапазоні −2 15 (−32767) 2 15 (-32768) 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 байти

Приклади:

Запит:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Вихід: 2

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

Ось,

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

Запит:

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

Вихід: 2,31

Приблизний числовий

Приблизна числова категорія включає плаваючу крапку та реальні значення. Вони в основному використовуються для наукових розрахунків. Приблизний числовий тип даних

Тип даних Опис Нижня межа Верхня межа Пам'ять Точність
float (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

Дата і час

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

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

Рядки символів

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

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

Тип даних Опис Нижня межа Верхня межа Пам'ять
nchar Це рядок Unicode фіксованої ширини 0 символів 4000 символів 2 рази по n байт
nvarchar Це рядок унікоду змінної ширини 0 символів 4000 символів 2 рази по n байт + 2 байти
ntext Це рядок унікоду змінної ширини 0 символів 1 073 741 823 char 2 рази довжини рядка

Приклад запиту:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar

Результат: Це тип даних nCharacter

Бінарний рядок

Ця категорія містить двійковий рядок фіксованої та змінної довжини. Типи даних двійкового рядка

Тип даних Опис Нижня межа Верхня межа Пам'ять
двійковий Це двійковий рядок фіксованої ширини. Він зберігає максимум 8000 байт. 0 байт 8000 байт n байт
варбінарна Це двійковий рядок змінної ширини. Він зберігає максимум 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. Він повертає ім'я змінної курсору.
Рядова версія Ця версія штампує рядки таблиці.
Ієрархія Цей тип даних представляє позицію в ієрархії
Унікальний ідентифікатор Перетворення з виразу символу.
Sql_variant Він зберігає значення типів даних, що підтримуються сервером SQL.
XML Він зберігає дані XML у стовпці.
Тип просторової геометрії Він представляє дані в плоскій системі координат.
Тип просторової географії Він представляє дані в системі координат навколо Землі.
таблиця Він зберігає набір результатів для подальшої обробки.

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

  • Тип даних CHAR швидший, ніж VARCHAR, під час отримання даних.

Короткий зміст:

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