SQL中varchar和nvarchar有什么区别?

是不是varchar(4)只能输入4个字母,而nvarchar(4)可以输入四个汉字?

SQL中varchar和nvarchar区别:输入不同,含义不同。

一、输入不同:

varchar(4)可以输入4个字线,也可以输入两个汉字。

nvarchar(4)可以输四个汉字,也可以输4个字母,但最多四个。

二、含义不同:

varchar(n)长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。

nvarchar(n)包含n个字符的可变长度Unicode字符数据。n的值必须介于1与4,000之间。字节的存储大小是所输入字符个数的两倍。

字符数据类型

Varchar是变长字符数据,其长度不超过8KB。Char是定长字符数据,其长度最多为8KB。超过8KB的ASCII数据可以使用Text数据类型存储。例如,因为Html文档全部都是ASCII字符,并且在一般情况下长度超过8KB,所以这些文档可以Text数据类型存储在SQLServer中。

在SQLServer中,Unicode数据以Nchar、Nvarchar和Ntext数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar字符类型,这时最多可以存储4000个字符。

以上内容参考:百度百科-SQL数据类型

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-22
varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。

如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar

上面是一个总结介绍,通过上面的介绍,可以知道。

varchar(4) 可以输入4个字线,也可以输入两个汉字

nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个本回答被提问者和网友采纳
第2个回答  2017-04-17
1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim()。
2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。
3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
它们的区别概括成:
CHAR,NCHAR 定长,速度快,占空间大,需处理
VARCHAR,NVARCHAR,TEXT 不定长,空间小,速度慢,无需处理
NCHAR、NVARCHAR、NTEXT处理Unicode码

sql中varchar和nvarchar有什么区别?
总结:在SQL中,VARCHAR和NVARCHAR之间的主要区别在于它们支持的字符集和用途。VARCHAR主要用于存储非Unicode字符,而NVARCHAR则用于存储Unicode字符,并支持多种语言字符。在选择使用哪种数据类型时,需要根据具体的应用需求和数据处理要求来决定。

sql中varchar和nvarchar有什么区别?
SQL中的varchar和nvarchar主要区别在于存储方式和字符集支持。1. 存储方式:varchar是变长字符串数据类型,用于存储可变长度的非Unicode字符数据。它根据输入的字符串长度进行实际存储,最大长度可根据数据库设置而定。它通常用于存储ASCII字符集的数据。nvarchar也是变长字符串数据类型,但它用于存储Unicode字符...

SQL中varchar和nvar
SQL中varchar和nvarchar是两种常见的字符数据类型,它们在输入限制和存储方式上存在显著差别。以下是它们的主要特点:1. 输入差异:varchar类型(如varchar(4))的最大存储长度是4个字符,无论是单个汉字还是英文字符。然而,其实际存储大小取决于输入内容的实际字节数,而非预设的字符数。例如,两个汉字可能...

SQL中varchar和nvarchar有什么区别?
SQL中varchar和nvarchar区别:输入不同,含义不同。一、输入不同:varchar(4)可以输入4个字线,也可以输入两个汉字。nvarchar(4)可以输四个汉字,也可以输4个字母,但最多四个。二、含义不同:varchar(n)长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。...

SQL中varchar和nvarchar有什么区别?
首先,关于输入特性:varchar(如varchar(4))和nvarchar(如nvarchar(4))的最大输入容量不同。varchar支持单字节字符,如4个英文字符或2个汉字,而nvarchar则适用于多字节字符,如4个汉字或4个ASCII字符,但其最大存储量为4个字符。这意味着nvarchar更适用于需要处理非英文字符,如中文的场景。其次,...

SQL|varchar和nvarchar区别?
本文介绍了SQL中的`nvarchar`和`varchar`的区别,以及它们在实际应用中的使用建议。`nvarchar(n)`表示包含了n个字符的可变长度Unicode字符数据,其字符长度限定在1到4000之间,可以设置为零;其存储大小是每字符2字节。`varchar(n)`则指的是包含了n个字符的可变长度非Unicode字符数据,限定字符长度在1到...

SQL中varchar和nvarchar有什么区别?
nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。两字段分别有字段值:我和coffee 那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。如字段值只是英文可选择varchar,而字段...

sql中 字段的属性中 varchar与nvarchar有什么区别
varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。nvarchar(n)包含 n 个...

sqlserver中的nvarchar和varchar的区别
之间,字节的存储大小是所输入字符个数的两倍,所输入的数据字符长度可以为零,nvarchar 在 sql-92 中的同义词为 national char varying 和 national character varying。看来两种数据类型是有区别的,那么该如何选择两种数据类型呢?首先,varchar和nvarchar都能存储汉字,区别在于:一个汉字占varchar(2),...

SqlServer2000中nvarchar和varchar的区别
nvarchar:统一字符编码可变长字符串型,英文和汉字都占用2个字节,比如声明一个变量为nvarchar(10),那么这个10就指的是最多可以存储10个字符(英文或汉字),如果给这个变量赋值为‘abc’或‘中国人’,那么这个变量实际占用6个字节的存储空间;varchar:普通字符编码可变长字符串型,英文占用一个字节,...

相似回答