Kľúčový rozdiel: V databázových systémoch, ako je SQL Server, Char a Varchar sú oba typy dát, kde char sa v skutočnosti vzťahuje na znak a Varchar odkazuje na variabilný znak. Oba sa používajú na ukladanie reťazecových typov hodnôt s maximálnou dĺžkou 8 000 znakov. Veľkosť pamäte char je rovnaká ako u deklarovaných, zatiaľ čo štádium šesť Varchar závisí od bajtov skutočných zadaných dát.
Urobme príklad - ak sú Char charakterizované dátami deklarované takým spôsobom: deklarujeme test Char (20) a test = "testovanie", potom test bude obsadiť prvých 7 bajtov a odpočinok bude vyplnený prázdnymi dátami. Na druhej strane, ak je Varchar dáta deklarovaná takým spôsobom: deklarovať test Varchar (20) a test = "testovanie", potom bude zaberať iba 7 + 2 bajty.
Znak by sa mal používať, ak je známa dĺžka premennej, zatiaľ čo Varchar by sa mal používať len vtedy, ak dĺžka nie je známa. Char je rýchlejší ako Varchar, pretože systém Varchar trávi nejaký čas na zistenie času na zistenie konca reťazca. Na druhej strane tentokrát v Charovi nie je zbytočná.
Porovnanie medzi Char a Varchar:
spáliť | varchar | |
Plná forma | znak | Variabilný znak (v súvislosti s charakterom premennej dĺžky) |
zmysel | Používa sa na ukladanie údajov s pevnou dĺžkou, ktoré nemajú znak Unicode | Používa sa na ukladanie údajov reťazca, ktoré nemajú znak Unicode, s premennou dĺžkou |
Bajty použité na uloženie | 1 bajt na znak | 1 bajt na jeden znak a 1 alebo 2 bajty navyše na uchovávanie informácií o dĺžke |
prihláška | Používa sa na ukladanie údajov ako napríklad telefónne číslo atď. (Údaje sú konzistentné.) | Používa sa na ukladanie údajov ako je adresa (údaje sa značne líšia) |
Stav: vstupný reťazec menej ako deklarované bajty | Priestor bez znaku bude vyplnený medzerníkom | Priestor bez akéhokoľvek znaku nebude mať žiadne znaky |
Stav: vstupný reťazec viac ako deklarované bajty | Reťazec bude skrátený na deklarované bajty | Reťazec bude skrátený na deklarované bajty. |