Which datatype you use for a situation depends on the type of data you are storing:
Use the character datatypes to store strings consisting of letters, numbers, and symbols.
Use varchar(n) and char(n) for both single-byte character sets such as us_english and for multibyte character sets such as Japanese.
Use 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.
Use 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.
Character datatypes can store a maximum of a page size worth of data
Use the text datatype (described in “text, image, and unitext datatypes”)—or multiple rows in a subtable—for strings longer than the char or varchar dataype allow.