Difference between char, nchar, varchar, and nvarchar in MS SQL Server
1. nchar[(n)] (national character)
i. Fixed-length Unicode string data.
ii. n defines the string length and must be a value from 1 through 4,000.
iii. The storage size is two times n bytes.
2. char [(n)] (character)
i. Non-Unicode string data with fixed-length.
ii. n defines the string length and must be a value from 1 through 8,000.
iii. Storage size is n bytes.
3. varchar [(n | max)] (character varying)
i. Variable-length, non-Unicode string data.
ii. n defines the string length and can be a value from 1 through 8,000.
iii. max indicates that the maximum storage size is 2^31-1 bytes (2 GB).
iv. The storage size is the actual length of the data entered + 2 bytes.
4. nvarchar [(n | max)] (national character varying.)
i. Variable-length Unicode string data.
ii. n defines the string length and can be a value from 1 through 4,000.
iii. max indicates that the maximum storage size is 2^31-1 bytes (2 GB).
iv. The storage size, in bytes, is two times the actual length of data entered + 2 bytes
Reference: