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 singlebyte 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 just n bytes of storage.
Character datatypes can store a maximum of a pagesize worth of data
Use the text datatype (described in text and image datatypes)—or multiple rows in a subtable—for strings longer than the char or varchar dataype allow.