Főbb különbség: Az adatbázis-rendszerek, mint az SQL Server, Char és Varchar egyaránt adattípusok, ahol a char valójában karakterre utal, és Varchar változó karakterre utal. Mindkettő a 8000 karakter hosszúságú karakterlánc típusú értékek tárolására szolgál. A char tárolási mérete ugyanaz, mint a bejelentett, míg Varchar hatodik fázisa a tényleges adatok bájtjaitól függ.
Vegyünk egy példát - ha egy Char adatot oly módon deklarálunk, hogy a teszt Char (20) és a teszt = "tesztelés", akkor a tesztelés az első 7 bájtot foglalja el, a többi pedig üres adatokkal lesz kitöltve. Másrészről, ha egy Varchar adatot oly módon deklarálnak, hogy kimutatják a Varchar (20) tesztet, és a teszt = „tesztelés”, akkor csak 7 + 2 bájtot foglal el.
A karakterláncot akkor kell használni, ha a változó hossza ismert, míg Varchar csak akkor használható, ha a hossz ismeretlen. A Char gyorsabb, mint a Varchar, mivel a Varchar rendszer egy kis időt tölt fel a húr végének kiderítésére. Másrészről, ez az idő nem pazarolódik Char-ban.
Char és Varchar összehasonlítása:
Faszén | varchar | |
Teljes alak | karakter | Változó karakter (a változó hosszúságú karakterrel összefüggésben) |
Jelentés | Nem Unicode karakterláncadatok rögzített hosszúságú tárolására szolgál | Nem változó hosszúságú nem Unicode karakterláncadatok tárolására szolgál |
A tároláshoz használt bitek | 1 bájt karakterenként | 1 bájt karakterenként és 1 vagy 2 bájt a hosszadatok tárolásához |
Alkalmazás | Olyan adatok tárolására használatos, mint a telefonszám stb. (Az adatok bevitele következetes.) | Olyan adatok tárolására használatos, mint a cím (az adatok bevitele nagymértékben változik) |
Állapot: a bemeneti karakterlánc kevesebb, mint a bejelentett bájtok | A karakter nélküli karakterek helyet foglalnak a hely karakterekkel | A karakter nélküli karakterek semmilyen karakterrel nem lesznek párnázva |
Állapot: bemeneti karakterláncot, mint a bejelentett bájtokat | A karakterláncot a bejelentett bájtokra csonkítjuk | A karakterláncot a bejelentett bájtokra csonkítjuk. |