Ключова разлика: В бази данни системи като 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 и Varchar:
овъглявам | VARCHAR | |
Пълна форма | характер | Променлив символ (в контекст на символ с променлива дължина) |
значение | Използва се за съхраняване на данни, които не са с Unicode, с фиксирана дължина | Използва се за съхраняване на данни, които не са с Unicode, с променлива дължина |
Байтове, използвани за съхранение | 1 байт на символ | 1 байт на символ и 1 или 2 байта допълнително за съхраняване на информация за дължината |
Приложение | Използва се за съхраняване на данни като телефонен номер и т.н. (въвеждането на данни е съвместимо.) | Използва се за съхраняване на данни като Адрес (вписванията за данни варират в голяма степен) |
Условие: входен низ по-малък от обявения байт | Пространството без никакъв знак ще бъде допълнено с пространствени знаци | Пространството без знак няма да бъде допълнено с никой от символите |
Условие: входен низ повече от декларираните байтове | Поредицата ще бъде съкратена до декларираните байтове | Поредицата ще бъде съкратена до декларираните байтове. |