包含 n 个字符的固定长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍。nchar 在 SQL-92 中的同义词为 national char 和 national character。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。
字符常量必须包括在单引号 (') 或双引号 (") 中。建议用单引号括住字符常量。当 QUOTED IDENTIFIER 选项设为 ON 时,有时不允许用双引号括住字符常量。
这个 Transact-SQL 例子给一个字符变量赋值:
DECLARE @MyCharVar CHAR(25)
SET @MyCharVar = 'Ricardo Adocicados'
当使用单引号分隔一个包括嵌入单引号的字符常量时,用两个单引号表示嵌入单引号,例如:
SET @MyCharVar = 'O''Leary'
如果要存储的数据比允许的字符数多,则数据就会被截断。例如,如果某列被定义为 char(10) 并且值"This is a really long character string"被存储到该列中,则 Microsoft® SQL Server™ 将该字符串截断为"This is a"。
当指定了 NOT NULL 子句时,char 数据类型是固定长度数据类型。如果一个比列的长度小的值被插入到 char NOT NULL 列中,则值的右边以空格填补剩余的位置。例如,如果一个列被定义为 char(10) 并且要存储的数据是"music",则 SQL Server 将这个数据存储为"music_____",这里"_"表示空格。