Which datatype you use for a situation depends on the type of data you are storing.
The character datatypes to store strings consisting of letters, numbers, and symbols. Character datatypes can store a maximum of a page size worth of data.
varchar(n) and char(n) for both single-byte character sets such as us_english and for multibyte character sets such as Japanese.
The unichar(n) and univarchar(n) datatypes to store Unicode characters. They are useful for single-byte or multibyte characters when you need a fixed number of bytes per character.
The fixed-length datatype, nchar(n) , and the variable-length datatype, nvarchar(n), for both single-byte and multibyte character sets, such as Japanese. The difference between nchar(n) and char(n) and nvarchar(n) and varchar(n) is that both nchar(n) and nvarchar(n) allocate storage based on n times the number of bytes per character (based on the default character set). char(n) and varchar(n) allocate n bytes of storage.
The text datatype—or multiple rows in a subtable—for strings longer than the char or varchar dataype allow.