What's the difference between varchar and nvarchar with Microsoft SQL Server
- VARCHAR: Variable-length, NON-UNICODE character data: VARCHAR[(n)]
- The length can be any value between 1 and 8,000.
- The storage size is the actual length of data entered + 2 bytes. The data entered can be 0 characters in length.
- The SQL-2003 synonyms for varchar are CHAR VARYING or CHARACTER VARYING.
- NVARCHAR: Variable-length, UNICODE character data: NVARCHAR[(n)]
- The length can be any value between 1 and 4,000.
- Because it is UNICODE, each character is 2 bytes. The storage size is twice the actual number of characters entered + 2 bytes.
- The SQL-2003 synonyms for nvarchar are NATIONAL CHAR VARYING or NATIONAL CHARACTER VARYING.
What's the difference between char and nchar
Basically the same as between varchar and nvarchar.
- CHAR: Fixed-length, NON-UNICODE character data: CHAR[(n)]
- The length can be any value between 1 and 8,000.
- The storage size is the declared length + 2 bytes.
- The SQL-2003 synonyms for char is CHARACTER.
- NCHAR: Fixed-length, UNICODE character data: NCHAR[(n)]
- The length can be any value between 1 and 4,000.
- Because it is UNICODE, each character is 2 bytes. The storage size is twice the declared length + 2 bytes.
- The SQL-2003 synonyms for nvarchar are NATIONAL CHAR or NATIONAL CHARACTER.

