nchar 和 nvarchar (Transact-SQL)

字符数据类型(nchar 长度固定,nvarchar 长度可变)和 Unicode 数据使用 UNICODE UCS-2 字符集。

nchar [ ( n ) ]

n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。nchar 的 SQL-2003 同义词为 national charnational character

nvarchar [ ( n | max ) ]

可变长度 Unicode 字符数据。n值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。nvarchar 的 SQL-2003 同义词为 national char varyingnational character varying

备注

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。

如果列数据项的大小可能相同,请使用 nchar

如果列数据项的大小可能差异很大,请使用 nvarchar

sysname 是系统提供的用户定义数据类型,除了不以为零外,在功能上与 nvarchar(128) 相同。sysname 用于引用数据库对象名。

为使用 ncharnvarchar 的对象分配的是默认的数据库排序规则,但可使用 COLLATE 子句分配特定的排序规则。

SET ANSI_PADDING ON 永远适用于 ncharnvarchar。SET ANSI_PADDING OFF 不适用于 ncharnvarchar 数据类型。

请参阅

参考

ALTER TABLE (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
COLLATE (Transact-SQL)
CREATE TABLE (Transact-SQL)
数据类型 (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
DELETE (Transact-SQL)
INSERT (Transact-SQL)
LIKE (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET @local\_variable (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
UPDATE (Transact-SQL)
WHERE (Transact-SQL)

其他资源

数据类型转换(数据库引擎)
使用大值数据类型
使用 Unicode 数据
估计数据库的大小

帮助和信息

获取 SQL Server 2005 帮助