nvarchar是什么意思?
SQL Server中的char、nchar、varchar和nvarchar有什么区别?
nvarchar是什么意思?
SQL Server中的char、nchar、varchar和nvarchar有什么区别?
当前回答
只是为了澄清…或者总结一下……
nchar和nvarchar可以存储Unicode字符。 char和varchar不能存储Unicode字符。 Char和nchar是固定长度的,即使你没有用完所有的空间,也会为你指定的字符数量保留存储空间。 Varchar和nvarchar是可变长度的,只会为你存储的字符占用空间。它不会像char或nchar那样预留存储空间。
nchar和nvarchar将占用两倍的存储空间,因此只有在需要Unicode支持时才使用它们可能是明智的。
其他回答
Nchar [(n)](民族字符)
固定长度的Unicode字符串数据。 N定义了字符串长度,必须是1到4000之间的值。 存储大小为2倍n字节。
Nvarchar [(n | max)](民族特征变化。)
可变长度的Unicode字符串数据。 N定义了字符串长度,取值范围为1到4000。 max表示最大存储空间为2^31-1字节(2gb)。 存储大小(以字节为单位)是实际输入数据长度的两倍+ 2字节
字符[(n)]
固定长度的非unicode字符串数据。 N定义了字符串长度,必须是1到8000之间的值。 存储大小为n字节。
Varchar [(n | max)](字符变化)
可变长度、非unicode字符串数据。 N定义了字符串长度,可以是1到8000之间的值。 max表示最大存储空间为2^31-1字节(2gb)。 存储大小为输入数据的实际长度+ 2字节。
Char:固定长度的字符数据,最大长度为8000。 Nchar:固定长度的unicode数据,最大长度为4000字符。 Char = 8位长度 NChar = 16位长度
再补充一点: Nchar -在数据中添加尾随空格。 Nvarchar -不向数据添加尾随空格。
因此,如果你要通过'nchar'字段过滤数据集,你可能想要使用RTRIM来删除空格。 如。 nchar(10)字段名为BRAND存储单词NIKE。 它在单词右边增加了6个空格。 因此,在筛选时,表达式应该是: RTRIM(Fields!BRAND.Value) = "NIKE"
希望这能帮助一些人,因为我刚刚还在和它斗争!
Nchar比nvarchar需要更多的空间。
eg,
一个nchar(100)将始终存储100个字符,即使你只输入5 剩下的95个字符将用空格填充。 在nvarchar(100)中存储5个字符将节省5个字符。
只是为了澄清…或者总结一下……
nchar和nvarchar可以存储Unicode字符。 char和varchar不能存储Unicode字符。 Char和nchar是固定长度的,即使你没有用完所有的空间,也会为你指定的字符数量保留存储空间。 Varchar和nvarchar是可变长度的,只会为你存储的字符占用空间。它不会像char或nchar那样预留存储空间。
nchar和nvarchar将占用两倍的存储空间,因此只有在需要Unicode支持时才使用它们可能是明智的。