区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc”,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3. 目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

https://www.cndba.cn/hbhe0316/article/22201

https://www.cndba.cn/hbhe0316/article/22201

在MySQL中,并没有VARCHAR2
magic.xiao
mysql char varchar 二三事
mysql char和varchar很类似。

char最大长度为255,存入不够255个字符时,右边补充spaces填充。https://www.cndba.cn/hbhe0316/article/22201

varchar最大长度为65535。
varchar(n)比char(n)多一个或两个字节,用来确定varchar value的长度。当value不超过255个字符,额外的一个字节即可。value超过255个字符时,需要2个字节。
查询效率对比:因为varchar需要根据额外的字节定位value的长度,所以要比char速度慢。https://www.cndba.cn/hbhe0316/article/22201https://www.cndba.cn/hbhe0316/article/22201

char(10)填充’1234567890’时,char(10)占用10个字符而不是10个字节。具体占用字节根据database collation set决定。
varchar(10)和varchar(255)的区别:当只写入一个’a’,查询需要临时表时,varchar(255)将分配255字符。varchar(10)只分配10个字符。https://www.cndba.cn/hbhe0316/article/22201

https://www.cndba.cn/hbhe0316/article/22201
https://www.cndba.cn/hbhe0316/article/22201

结论:在插入邮编、电话号码等长度不变的数据时候,使用char(),在插入变化的数据的时候,时候varchar()。

https://www.cndba.cn/hbhe0316/article/22201

https://www.cndba.cn/hbhe0316/article/22201

版权声明:本文为博主原创文章,未经博主允许不得转载。

MYSQL

char、varchar、varchar2区别相关推荐

  1. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT的区别: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 655 ...

  2. oracle中char,varchar,varchar2的区别

    1.char长度固定,varchar2长度可变.例如,存储字符串"123",char(10)表示存储的内容占10个字节:123      (包含7个空格),varchar2(20) ...

  3. oracle中varchar 和 nvarchar2的区别,Oracle中char,varchar,varchar2,nvarchar,nvarchar2的区别

    一.概述 1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文 ...

  4. Oracle中 char varchar varchar2的区别

    1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的 ...

  5. char varchar nvarchar区别

    char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符.nvarchar(n) 包 ...

  6. Oracle char varchar varchar2 nvarchar2 的区别

    上面字符类型能保存多少个字符与oracle当前的字符集有关系. select userenv('language') from dual; 假设长度2000字节, 如果字符集是16位编码的,ZHS16 ...

  7. 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别

    [在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别  CHAR为定长的字段,最 ...

  8. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  9. mysql中char与varchar的区别分析

    原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...

最新文章

  1. numpy逻辑运算符
  2. AI在茫茫人海中,看到只有你被Deepfake了丨阿里安全出品
  3. 网站SEO优化技巧的“减法运算”
  4. Groovy/Spock 测试导论
  5. 实用技巧:Linux操作系统Vim/Vi编程提速
  6. flink的DAG可视化使用(visualizer的使用)
  7. zabbix server搭建
  8. mysql cnf参数_系统运维|MySQL my.cnf参数配置优化详解
  9. AttributeError: ‘torch.return_types.max‘ object has no attribute ‘dim‘
  10. r 选取从小到大的数据_r 选取表格的一列数据库
  11. windows server 2012 NIC组合---概念
  12. eclipse建web工程的dynamic web module version 具体是什么意思
  13. 超美二次元响应式引导页源码
  14. 怪物的生成 攻击和掉落金币
  15. 武汉大学无线传感实验床项目招标公告(开标时间2015年1月15日)
  16. git.exe pull -v --progress “scanpenmodular“fatal: detected dubious ownership in repository at ‘
  17. 风华贴片电容命名规则
  18. 第二周python牛客练习题
  19. 百度统计工具是什么?百度统计工具有什么用呢?
  20. webrtc jitterbuffer 模块分析

热门文章

  1. 2020小迪培训(第21天 WEB 漏洞-文件上传之后端黑白名单绕过)
  2. 线性代数 | 知识点总结(上)
  3. javascript跳转页面
  4. 小程序服务器如何防攻击,中小网站防止DDOS攻击的方法
  5. 三态内容寻址寄存器(TCAM)
  6. 流体力学-----动量方程的推导和理解---NS方程
  7. Python中的args和kwargs
  8. python 读取和保存图片方法
  9. 【Matlab系列】常用模拟和数字通信系统仿真及Matlab实现
  10. ubc本科计算机雅思要求,加拿大各大学的雅思要求