MS SQL Server 中char, nchar, varchar, nvarchar的差别

在MS SQL Server中,有几种字符串的数据类型,如 char, nchar, varchar, nvarchar。它们有什么不同?

Char 是固定长度。即使没有用完所有的空间,它仍会保留未用的空间。
Varchar 是不固定的,它不会保留未用完的空间。
比如,如果我们将长度设为10:char(10), varchar(10), 然后我们将值设为: ‘apple’。
Char(10) 存储的值会是:’apple     ‘.
Varchar(10) 存储的值会是:’apple’.

Char 和 Varchar 不能存储 Unicode 字符。
‘n’ 表示可以存储Unicode 字符: nchar 和 nvarchar。

下表供快速参考:

数据类型 可以存储 unicode 固定长度
char
nchar
varchar
nvarchar