Nøgleforskel: I databasesystemer som SQL Server, Char og Varchar er begge datatyper, hvor char faktisk refererer til tegn, og Varchar henviser til variabel karakter. De begge bruges til at gemme strengtyper af værdier med en maksimal længde på 8.000 tegn. Lagringsstørrelsen for char er den samme som deklareret, mens scenen sixe af Varchar afhænger af bytes af de faktiske data, der er indtastet.


Lad os tage et eksempel - hvis en Char-data er erklæret på en måde: erklærer test Char (20), og test = "test", så vil testen optage de første 7 bytes og resten vil blive fyldt med blanke data. På den anden side, hvis en Varchar-data erklæres på en måde: Erklære test Varchar (20), og test = "test", så vil den kun optage 7 + 2 bytes.
Char bør anvendes, når længden af variablen er kendt, mens Varchar kun skal bruges, når længden er ukendt. Char er hurtigere end Varchar, da Varchar-systemet bruger lidt tid til at finde tid til at finde ud af slutningen af strengen. På den anden side er denne tid ikke spildt i Char.
Sammenligning mellem Char og Varchar:
char | VARCHAR | |
Fuld form | Karakter | Variabel karakter (i kontekst til tegn med variabel længde) |
Betyder | Bruges til at lagre ikke-Unicode-strengdata med fast længde | Bruges til at gemme ikke-Unicode-strengdata med variabel længde |
Bytes anvendes til opbevaring | 1 byte pr. Tegn | 1 byte pr. Tegn og 1 eller 2 byte ekstra for at holde længdeinformation |
Ansøgning | Bruges til opbevaring af data som Telefonnummer mv. (Dataposterne er konsistente.) | Bruges til lagring af data som Address (dataindtastninger varierer stort set) |
Tilstand: Indgangsstreng mindre end deklarerede bytes | Pladsen uden noget tegn bliver polstret med mellemrumstegn | Rummet uden tegn vil ikke være polstret med nogen af tegnene |
Tilstand: Indtast streng mere end deklarerede byte | Strengen bliver afkortet til deklarerede byte | Strengen bliver afkortet til deklarerede byte. |