Hvad er forskellen mellem char, nchar, varchar og nvarchar i SQL Server?

Hvad menes der med nvarchar?

Hvad er forskellen mellem char, nchar, varchar og nvarchar i SQL Server?

nchar og char fungerer stort set på nøjagtig samme måde som hinanden, og det samme gælder nvarchar og varchar. Den eneste forskel mellem dem er, at nchar/nvarchar gemmer Unicode-tegn (vigtigt, hvis du har brug for udvidede tegnsæt), mens varchar ikke gør det.

Fordi Unicode-tegn kræver mere lagerplads, fylder nchar/nvarchar-felter dobbelt så meget (så f.eks. i tidligere versioner af SQL Server er den maksimale størrelse af et nvarchar-felt 4000).

Dette spørgsmål er en gentagelse af dette spørgsmål.

Kommentarer (1)

nchar(10) er en Unicode-streng med fast længde på 10. nvarchar(10) er en Unicode-streng med variabel længde med en maksimal længde på 10. Typisk vil du bruge førstnævnte, hvis alle dataværdier er på 10 tegn, og sidstnævnte, hvis længderne varierer.

Kommentarer (1)

NVARCHAR kan gemme Unicode-tegn og tager 2 bytes pr. tegn.

Kommentarer (3)