char 是指定长的字符数据类型,
varchar是指不定长度的字符数据类型,
nchar是用来存储Unicode字符集的定长字符型数据,
nvarchar则是用来存储Unicode字符集的不定长字符型数据。
nchar是固定长度Unicode数据的数据类型,nvarchar是可变长度Unicode数据的数据类型,二者均使用UNICODEUCS-2字符集。
nchar(n)表示:
包含n个字符的固定长度Unicode字符数据。n的值必须介于1与4,000之间。存储大小为n字节的两倍。nchar在SQL-92中的同义词为nationalchar和nationalcharacter。
nvarchar(n)
包含n个字符的可变长度Unicode字符数据。n的值必须介于1与4,000之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar在SQL-92中的同义词为nationalcharvarying和nationalcharactervarying。
char[(n)]
长度为n个字节的固定长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为n个字节。char在SQL-92中的同义词为character。
varchar[(n)]
长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。varchar在SQL-92中的同义词为charvarying或charactervarying。
注意:
是用char或varchar时,如果希望列中的数据值大小接近一致,使用char,如果希望相反则使用varchar。