Forskellen mellem varchar og nvarchar angiver, hvordan data gemmes i en database. Et databasesystem består af data, og data defineres af datatyper. En datatype fortæller, hvilken slags værdi en kolonne kan indeholde. Hver kolonne i en databasetabel skal have et navn og en datatype. I dag er der mange datatyper tilgængelige i databasedesign. Ud af disse datatyper bruges varchar og nvarchar til at gemme strengkarakterer. Varchar og Nvarchar ser ud til at være udskiftelige. Men disse to typer har forskellige fordele, og de bruges til forskellige formål.
Som navnet antyder er varchar en varierende karakter eller varierende char. Syntaks for varchar er VARCHAR [(n | max)]. Varchar lagrer ASCII-data, der er ikke-Unicode-data, og det er den datatype, der bruges ved normal brug. Varchar bruger en byte pr. Tegn. Det gemmer også længden på hver streng i databasen. Varchar har en variabel datalængde og kan gemme amaximum på 8000 ikke-Unicode-tegn. Denne datatype er meget fleksibel og accepterer de fleste forskellige typer data. Varchar giver dig ikke mulighed for at gemme tomme tegn for de ubrugte dele af strengen. Den maksimale lagringsstørrelse for varchar er 2 GB, og den reelle lagringsstørrelse af data er den faktiske længde på data plus to byte. Selvom varchar er langsommere end char, bruger den dynamisk hukommelsesallokering. Ikke kun strenge, men også ikke-strengstyper såsom datatyper, "14. februar", "12/11/2014" kan også gemmes i varchar datatype.
Nvarchar foreslår a national varierende karakter eller en national varierende char. Syntaks for nvarchar er NVARCHAR [(n | max)]. Nvarchar kan lagre forskellige typer data med forskellige længder. Det er Unicode-data og flersprogede data og sprog med dobbelt-byte-lignende tegn på kinesisk. Nvarchar bruger 2 byte pr. Tegn, og det kan gemme en maksimumsgrænse på 4000 tegn og en maksimal længde på 2 GB. Nvarchar behandler “” som tom streng og nul tegnlængde. Lagringsstørrelse er det dobbelte af antallet af tegn i størrelse plus to bytes. I nvarchar fjernes bagerste mellemrum ikke, når værdien gemmes og modtages.
Nøgleforskellen mellem varchar og nvarchar angiver, hvordan data gemmes i en database.
• Varchar gemmer ASCII-værdier og nvarchar gemmer Unicode-tegn.
• Varchar bruger en byte pr. Tegn, mens nvarchar bruger to byte pr. Tegn.
• Varchar [(n)] gemmer ikke-Unicode-tegn med variabel længde og Nvarchar [(n)] gemmer Unicode-tegn med variabel længde.
• Varchar kan gemme maksimalt 8000 ikke-Unicode-tegn og nvarchar-lagre højst 4000 Unicode- eller ikke-Unicode-tegn.
• Varchar er bedre at bruge på steder, hvor variabler med ikke-Unicode-tegn er. Nvarchar bruges på steder, hvor variabler med Unicode-tegn er.
• Opbevaringsstørrelse på varchar er antallet af bytes svarende til antallet af tegn plus to bytes, der er reserveret til forskydning. Nvarchar bruger antallet af byte svarende til det dobbelte af antallet af tegn plus to bytes, der er reserveret til forskydning.
• Alle moderne operativsystemer og udviklingsplatforme bruger Unicode internt. Derfor er nvarchar meget anvendt snarere end varchar for at undgå konvertering af datatyper.
Resumé:
Nvarchar vs Varchar
Varchar og nvarchar er datatyper med variabel længde, som vi bruger til at gemme forskellige typer strenge. Disse datatyper er nyttige i moderne operativsystemer. Disse sorter af datatyper undgår konvertering af data fra en type til en anden i henhold til operativsystemerne. Derfor hjælper varchar og nvarchar programmereren til at identificere Unicode og ikke-Unicode strenge uden meget besvær. Disse to datatyper er meget nyttige til programmering.
Billeder høflighed: