Ključna razlika: U sustavima baze podataka kao što su SQL Server, Char i Varchar su oba tipa podataka, gdje se char zapravo odnosi na znak, a Varchar se odnosi na varijabilni znak. Obojica se koriste za pohranjivanje vrijednosti vrijednosti niza s maksimalnom duljinom od 8000 znakova. Veličina pohrane znaka je ista kao deklarirana, dok stupanj 6e Varchar ovisi o bajtovima stvarnih unesenih podataka.
Uzmimo primjer - ako su Char podaci deklarirani na neki način: deklarirati test Char (20), a test = "testiranje", testiranje će zauzeti prvih 7 bajtova i ostatak će biti ispunjen praznim podacima. S druge strane, ako je Varchar podatak deklariran na neki način: proglasite test Varchar (20), a test = "testiranje", tada će zauzeti samo 7 + 2 bajta.
Char treba koristiti kad je poznata duljina varijable, dok se Varchar treba koristiti samo kada je dužina nepoznata. Char je brži od Varchara, jer Varchar sustav troši neko vrijeme na otkrivanje vremena za pronalaženje kraja niza. S druge strane, ovo vrijeme nije izgubljeno u Char.
Usporedba Char-a i Varchara:
čađ | varchar | |
Cijela forma | Lik | Varijabilni znak (u kontekstu karaktera promjenljive duljine) |
Značenje | Koristi se za pohranu podataka ne-Unicode niza fiksne duljine | Koristi se za pohranu podataka ne-Unicode niza promjenljive duljine |
Bajtovi za pohranu | 1 bajt po znaku | 1 bajt po znaku i 1 ili 2 bajta dodatno za držanje informacije o duljini |
primjena | Koristi se za pohranjivanje podataka poput telefonskog broja itd. (Unosi podataka su dosljedni.) | Koristi se za pohranjivanje podataka kao što je adresa (unosi podataka se uvelike razlikuju) |
Uvjet: ulazni niz manji od deklariranih bajtova | Prostor bez ikakvog znaka bit će ispunjen s prostornim znakovima | Prostor bez znakova neće biti ispunjen bilo kojim znakom |
Uvjet: ulazni niz više od deklariranih bajtova | Niz će biti skraćen na deklarirane bajtove | Niz će biti skraćen na deklarirane bajtove. |