Varchar与char的区别

区别

Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,
就是把它填满为100个字节)。

由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格
去掉!

时间: 2024-12-29 10:16:15

Varchar与char的区别的相关文章

mysql中text与varchar与char的区别

  char类型 CHAR列的长度固定为创建表时声明的长度.长度可以为从0到255的任何值.当保存CHAR值时,在它们的右边填充空格以达到指定的长度.当检索到CHAR值时,尾部的空格被删除掉.在存储或检索过程中不进行大小写转换. varchar类型 VARCHAR列中的值为可变长字符串.长度可以指定为0到65,535之间的值.(VARCHAR的最大有效长度由最大行大小和使用的字符集确定.整体最大长度是65,532字节). text类型 有4种TEXT类型:TINYTEXT.TEXT.MEDIUM

c++-打印有符号和无符号char的区别

问题描述 打印有符号和无符号char的区别 写了这样一段代码,想要将数据按字节打印.(小端机器) #include <stdio.h> typedef char * byte_pointer; void show_bytes(byte_pointer data, int len) { int i = 0; for (i=0; i<len; ++i) { printf("0x%.2x ", data[i]); } printf("n"); } voi

C语言中char*和char[]用法区别分析_C 语言

本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以: 当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written". 当用char s[]=&q

MySQL Innodb数据库性能实践——VARCHAR vs CHAR

学过数据库理论的读者,都应该还记得关于CHAR和VARCHAR的性能对比:CHAR比VARCHAR更快,因为CHAR是固定长度的,而VARCHAR需要增加一个长度标识,处理时需要多一次运算. 针对这种情况,我做了一下基准测试,基准测试环境如下: [硬件配置] 硬件 配置 CPU Intel(R) Xeon(R) CPU E5620 主频2.40GHz, 物理CPU 2个,逻辑CPU 16个 内存 24G(6块 * 4G  DDR3 1333 REG) 硬盘 300G * 3个,SAS硬盘 150

SQL Server数据类型char、nchar、varchar、nvarchar的区别浅析

在SQL Server中,当我们设置字符型字段的时候,往往有很多个数据类型供我们选择,如:char nchar varchar nvarchar等,那么我们到底应该选择哪一个呢?下面就一一来描述其区别. char:固定长度,非Unicode字符数据,长度为n个字节.n的取值范围为1至8,000,存储大小是n个字节.char的SQL2003同义词为character. varchar:可变长度,非Unicode字符数据.n的取值范围为1至8,000.max指示最大存储大小是2^31-1个字节.存储

基于SQL Server中char,nchar,varchar,nvarchar的使用区别_MsSql

对于程序中的一般字符串类型的字段,SQL Server中有char.varchar.nchar.nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比. 1.定长或变长 所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应的长度:有var前缀的,表示是实际存储空间是动态变化的,比如varchar,nvarchar变长字符数据则不会以空格填充. 2.Unicode或非Unicode 数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众

Sqlserver中char,nchar,varchar与Nvarchar的区别分析_MsSql

1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了10个字节,都要占去10个字节的空间.因为是固定长度,所以速度效率高.比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间.因为是固定长度,所以速度效率高. 2. VARCHAR存储变长数据如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,

SQL Server数据类型char、nchar、varchar、nvarchar的区别浅析_MsSql

在SQL Server中,当我们设置字符型字段的时候,往往有很多个数据类型供我们选择,如:char nchar varchar nvarchar等,那么我们到底应该选择哪一个呢?下面就一一来描述其区别. char:固定长度,非Unicode字符数据,长度为n个字节.n的取值范围为1至8,000,存储大小是n个字节.char的SQL2003同义词为character. varchar:可变长度,非Unicode字符数据.n的取值范围为1至8,000.max指示最大存储大小是2^31-1个字节.存储

char,nchar,varchar与Nvarchar的区别

1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达 到了10个字节,都要占去10个字节的空间.因为是固定长度,所以速度效率高.比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间.因为是固定长度,所以速度效率高.  2.  VARCHAR存储变长数据,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个