varchar(n)
长度和长度为n字节的非Unicode字符数据必须是1到8000之间的值。存储
输入数据的字节的实际长度,而不是n字节。
Nvarchar(N)
包含n个字符的可变长度Unicode字符数据。n的值必须介于1到4000之间。字节的大小是输入字符数的两倍。
这两个领域有字段值:I和咖啡
然后varchar字段占2 * 2 + 6 = 10字节的存储
空间,并为8 * 2 = 16字节的存储空间为外地户口。
如果字段值是唯一英语VARCHAR字段值具有更高的双字节(中国,韩国,等)与nvarchar
以上是一个总结的
介绍,通过以上的介绍,你可以知道。
varchar(4)可以输入4个字母,也可以输入两个
汉字 nvarchar(4)可以输四个汉字,可以输4个字母,但最多四。
之间的差异的char、varchar、nchar和nvarchar
对
程序中的字符串字段,有四种
类型的SQL Server,包括char、varchar、nchar和nvarchar,对应的(不考虑text和ntext)。在建立数据库时,这四种类型往往是模糊的。
长度或
的长度的长度是固定的,当输入的数据长度没有达到指定的长度自动英语空间的充填长度达到相应的长度;有前缀的VaR,是可变长度的实际存储空间,如varchar、nvarchar可变长度的字符数据未填写空间比较例外,
文本存储可变长度。
Unicode或非Unicode
在数据库中,英文字符只需要一个字节存储,但汉字和许多其他非英语字符需要两字节的存储。如果英文和
中文同时存在,因为不同的占用空间,也容易引起混乱,造成读取的字符串是随机编码的Unicode字符。集生成
解决字符集不兼容问题。所有的文字
都是在两个字节,表示,英文字符也用两个字节表示。前缀n表示Unicode字符,如nchar、nvarchar,和这两类型使用Unicode字符集。
基于以上两点看现场能力
Char、varchar、多达8000个英语,4000个汉字
Nchar、nvarchar可存储4000个汉字,英文和中文字符
使用(个人偏好)
如果数据量很大,它可以确定长度为100%,只
保存ANSI字符,然后保存字符。
但可以确定的是,长度不一定是ANSI字符,然后使用nchar;
超大型的数据,比如文章的内容,使用ntext
其他一般nvarchar
对char、varchar的特点比较,nchar和nvarchar
烧焦
字符存储固定长度数据非常方便,字符字段索引效率高。例如,定义char(10),然后是否将数据存储到10个字节,则需要占用10字节空间。
varchar
存储可变长度的数据,但存储效率不是char高的。如果一个字段可能是一个固定长度的,我们只知道,它不能超过10个字符,它是最具成本效益的定义为varchar(10),VARCHAR类型的实际长度是其+ 1.why值的实际长度是1 这个字节用于保存实际使用了多少长度。
在空间上,它是适当使用varchar;在效率方面,关键是要根据字符的
正确使用的实际
情况找到平衡点。
文本
文本存储非Unicode数据的可变长度的,有2 ^ 31-1最大长度(2147483647)字符。
nchar、nvarchar、ntext
这三种名称看起来更N比第一三。用CHAR和VARCHAR相比,数据存储4000个字符最多和nvarchar,以中文或英文字符,而CHAR和VARCHAR可以存储8000个英语和4000个汉字最多。可以看出,使用nchar或nvarchar数据类型时,我们不需要担心输入的字符是英文或汉字,这是更方便,但也有在存储的数据量的一些损失的英文。
所以,一般来说,如果有一个汉字,使用nchar和nvarchar,如果纯英文和数字,用字符 / varchar。