数据库中varchar、nvarchar、char存储字符、数字、汉字的容量区别

数据库中varchar、nvarchar、char存储字符、数字、汉字的容量区别,第1张

char:固定长度,例如:char(6),你输入的字符小于6时,它会在后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。

存储字符:ANSI

数字英文存储:最多能存储8000个。

汉字存储4000汉字

-----------------------------分割---------------------------

varchar(n):可变长度,(n为某一整数,不同数据库,最大长度n不同)

存储字符:ANSI

n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。

数字英文存储:最多能存储8000个。

汉字存储4000个汉字

-----------------------------分割-----------------------------

nvarchar:可变长度,

存储字符:Unicode

Unicode所有的字符(汉字和英文)都用两个字节表示。

数字英文存储:最多能存储4000个

汉字存储4000个汉字

一般来说如果含有中文字符,用nvarchar,如果纯英文和数字,用char/varchar。

数据库char,varchar,nchar,nvarchar类型区别为:长度不同、字节不同、空格不同。

一、长度不同

1、char类型:char类型的长度固定,占用更多的存储空间。

2、varchar类型:varchar类型的长度不固定,占用更少的存储空间。

3、nchar类型:nchar类型的长度固定,占用更多的存储空间。

4、nvarchar类型:nvarchar类型的长度不固定,占用更少的存储空间。

二、字节不同

1、char类型:char类型所有的字符使用一个字节表示。

2、varchar类型:varchar类型所有的字符使用一个字节表示。

3、nchar类型:nchar类型所有的字符使用两个字节表示。

4、nvarchar类型:nvarchar类型所有的字符使用两个字节表示。

三、空格不同

1、char类型:char类型保存的时候会去掉字符串末尾的空格。

2、varchar类型:varchar类型保存的时候不会去掉字符串末尾的空格。

3、nchar类型:nchar类型保存的时候会去掉字符串末尾的空格。

4、nvarchar类型:nvarchar类型保存的时候不会去掉字符串末尾的空格。

1、 CHAR 的长度是不可变的,而 VARCHAR 的长度是可变的,也就是说,定义一个CHAR[10]和VARCHAR[10],如果存进去的是‘ABCD’, 那么CHAR所占的长度依然为10,除了字符‘ABCD’外,后面跟六个空格,而VARCHAR的长度变为4了,取数据的时候,CHAR类型的要用trim()去掉多余的空格,而VARCHAR类型是不需要的。

2、 CHAR 的存取速度要比 VARCHAR 快得多,因为其长度固定,方便程序的存储与查找;但是CHAR为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可以说是以空间换取时间效率,而VARCHAR则是以空间效率为首位的。

3、 CHAR 的存储方式是,一个英文字符(ASCII)占用1个字节,一个汉字占用两个字节;而 VARCHAR 的存储方式是,一个英文字符占用2个字节,一个汉字也占用2个字节。

4、两者的存储数据都是非unicode的字符数据。

以上就是关于数据库中varchar、nvarchar、char存储字符、数字、汉字的容量区别全部的内容,包括:数据库中varchar、nvarchar、char存储字符、数字、汉字的容量区别、数据库char,varchar,nchar,nvarchar类型分别有什么区别。、数据库基础——CHAR与VARCHAR的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10193904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存