Varchar vs Nvarchar
Forskellen mellem varchar og nvarchar angiver, hvordan data gemmes i en database. Et databasesystem består af data og data er defineret 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 strengtegn. Varchar og Nvarchar ser ud til at være udskiftelige. Men disse to typer har forskellige fordele, og de bruges til forskellige formål.
Hvad er Varchar?
Som navnet antyder, er varchar en varierende karakter eller varierende char. Syntaks for varchar er VARCHAR [(n|max)]. Varchar gemmer ASCII-data, der ikke er Unicode-data, og det er datatypen, der bruges ved normal brug. Varchar bruger en byte pr. tegn. Den gemmer også længden af hver streng i databasen. Varchar har en variabel datalængde og kan maksim alt gemme 8000 ikke-Unicode-tegn. Denne datatype er meget fleksibel og vil acceptere de fleste forskellige slags data. Varchar lader dig ikke gemme tomme tegn for de ubrugte dele af strengen. Den maksimale lagerstørrelse for varchar er 2 GB, og den reelle lagerstørrelse for data er den faktiske længde af data plus to bytes. Selvom varchar er langsommere end char, bruger den dynamisk hukommelsesallokering. Ikke kun strenge, men også ikke-strengtyper såsom datotyper, "14. februar", "2014-11-12" kan også gemmes i varchar-datatypen.
Hvad er Nvarchar?
Nvarchar foreslår en national varierende karakter eller en national varierende char. Syntaks for nvarchar er NVARCHAR [(n|max)]. Nvarchar kan gemme forskellige typer data med varierende længde. De er Unicode-data og flersprogede data og sprog med dobbeltbyte-lignende tegn på kinesisk. Nvarchar bruger 2 bytes pr. tegn, og den kan gemme en maksimal grænse på 4000 tegn og en maksimal længde på 2 GB. Nvarchar behandler " " som tom streng og nul tegnlængde. Lagerstørrelsen er dobbelt så stor som antallet af tegn plus to bytes. I nvarchar fjernes de efterfølgende mellemrum ikke, når værdien gemmes og modtages.
Hvad er forskellen mellem Varchar og Nvarchar?
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 én 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 maksim alt gemme 8000 ikke-Unicode-tegn, og nvarchar gemmer maksim alt 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.
• Varchars lagerstørrelse er antallet af bytes lig med antallet af tegn plus to bytes, der er reserveret til offset. Nvarchar bruger antal bytes svarende til det dobbelte af antallet af tegn plus to bytes, der er reserveret til offset.
• Alle moderne operativsystemer og udviklingsplatforme bruger Unicode internt. Derfor er nvarchar meget brugt frem for varchar for at undgå konvertering af datatyper.
Oversigt:
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 varianter af datatyper undgår konvertering af data fra en type til en anden i henhold til operativsystemerne. Derfor hjælper varchar og nvarchar programmøren med at identificere Unicode- og ikke-Unicode-strenge uden større besvær. Disse to datatyper er meget nyttige i programmering.