nvarchar是什么意思?

SQL Server中的char、nchar、varchar和nvarchar有什么区别?


当前回答

Nchar比nvarchar需要更多的空间。

eg,

一个nchar(100)将始终存储100个字符,即使你只输入5 剩下的95个字符将用空格填充。 在nvarchar(100)中存储5个字符将节省5个字符。

其他回答

Nchar比nvarchar需要更多的空间。

eg,

一个nchar(100)将始终存储100个字符,即使你只输入5 剩下的95个字符将用空格填充。 在nvarchar(100)中存储5个字符将节省5个字符。

区别在于:

N [var]char存储unicode,而[var]char仅存储单字节字符。 [n]char需要固定长度的字符数,而[n]varchar接受可变长度的字符数,直到并包括定义的长度。

另一个区别是长度。nchar和nvarchar的长度都可以达到4000个字符。char和varchar最多可以有8000个字符长。但是对于SQL Server,你也可以使用[n]varchar(max),它最多可以处理2147,483,648个字符。(2g,一个有符号的4字节整数。)

NVARCHAR可以存储Unicode字符,每个字符占用2字节。

Nchar是固定长度的,可以保存unicode字符。每个字符使用两个字节的存储空间。 Varchar是可变长度的,不能保存unicode字符。它使用一个字节存储每个字符。

nchar(10)是一个长度为10的固定长度的Unicode字符串。nvarchar(10)是一个可变长度的Unicode字符串,最大长度为10。通常,如果所有数据值都是10个字符,则使用前者;如果长度不同,则使用后者。