Ключова різниця: в системах баз даних, таких як SQL Server, Char і Varchar є обидва типи даних, де char насправді відноситься до символу, а Varchar відноситься до змінного символу. Вони обидва використовуються для зберігання типів значень рядків з максимальною довжиною 8000 символів. Розмір зберігання char є таким же, як оголошений, тоді як етап sixe Varchar залежить від байтів фактичних введених даних.
Візьмемо приклад - якщо Char дані оголошені в шляху: оголосити тест Char (20), і test = "testing", то тестування займе перші 7 байтів і залишиться заповнені порожніми даними. З іншого боку, якщо дані Varchar оголошені в такий спосіб: оголосити тест Varchar (20), а test = "testing", то він займе всього 7 + 2 байта.
Char слід використовувати, коли відома довжина змінної, тоді як Varchar слід використовувати тільки тоді, коли довжина невідома. Char швидше, ніж Varchar, оскільки система Varchar витрачає деякий час на виявлення часу для знаходження кінця рядка. З іншого боку, цей час не витрачається в Char.
Порівняння між Чар і Варшаром:
Char | Варчар | |
Повна форма | Характер | Змінний символ (у контексті символу змінної довжини) |
Значення | Використовується для зберігання даних рядка Unicode фіксованої довжини | Використовується для зберігання даних рядка Unicode змінної довжини |
Байти, що використовуються для зберігання | 1 байт на символ | 1 байт на символ і 1 або 2 байти додатково для зберігання інформації про довжину |
Застосування | Використовується для зберігання даних, таких як номер телефону тощо. | Використовується для зберігання даних, таких як Адреса (записи даних значною мірою змінюються) |
Умова: вхідний рядок менше оголошеного байта | Простір без будь-якого символу буде доповнено символами пробілу | Простір без будь-якого символу не буде доповнено будь-яким символом |
Умова: вхідний рядок більше, ніж оголошений байт | Рядок буде скорочено до оголошених байтів | Рядок буде скорочено до оголошених байтів. |