SQLSERVER中nvarchar和varchar类型的区别是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER中nvarchar和varchar类型的区别是啥?相关的知识,希望对你有一定的参考价值。
参考技术A 1.varchar:非unicode
的字符数据
nvarchar:
unicode
数据
2.
varchar(n):
长度为
n
个字节的可变长度且非
unicode
的字符数据。n
必须是一个介于
1
和
8,000
之间的数值。存储大小为输入数据的字节的实际长度,而不是
n
个字节。所输入的数据字符长度可以为零。varchar
在
sql-92
中的同义词为
char
varying
或
character
varying。
nvarchar(n):
含
n
个字符的可变长度
unicode
字符数据。n
的值必须介于
1
与
4,000
之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar
在
sql-92
中的同义词为
national
char
varying
和
national
character
varying。
3.
一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.
4.
在性能上varchar的检索快于nvarchar
另外varchar与char归纳几点区别如下
varchar
的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char
不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian
"(qian后共有96个空格,就是把它填满为100个字节)。 参考技术B varchar(n):变长型字符数据类型,存储最长长度为8,000
个字符
nvarchar(n):可变长度
Unicode
数据,其最大长度为
4,000
字符.字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。
varchar一般适用于英文和数字。
以上是关于SQLSERVER中nvarchar和varchar类型的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章
SQLSERVER中nvarchar和varchar类型的区别是啥?
SQLSERVER中nvarchar和varchar类型的区别是啥?
Oracle 和 SQL Server 中的 NVARCHAR 之间的区别?