CHAR,VARCHAR,VARCHAR2类型的区别与使用

原创 2004年06月30日 21:18:00
区别:
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。
??
何时该用CHAR,何时该用varchar2?
? ?? ?? ???CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
? ?VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。

Char类型与Varchar类型的区别

在字符长度一定时char的性能比varchar好,而在长度不确定时,char类型的字段在使用时性能略差。此种情况在SQL Server数据库下面能够体现,并且这个字段是经常使用的。   区别: ...
  • wh531030320
  • wh531030320
  • 2013年09月14日 16:31
  • 1519

char 和 varchar 区别与分析

The maximum row size for the used table type, not counting BLOBs, is 65535. 表的一行除去二进制,最大存储长度为6...
  • ReadyYes
  • ReadyYes
  • 2016年04月09日 16:48
  • 2695

SQL那些事儿(十三)--Oracle中varchar与varchar2区别

varchar -- 存放定長的字符數據,最長2000個字符;varchar2 -- 存放可變長字符數據,最大長度為4000字符。 目前没有本质的区别但是:varchar2是oracle提供的独特的数...
  • xcymorningsun
  • xcymorningsun
  • 2016年11月15日 15:26
  • 3878

详解char和varchar的区别

MySQL中的字符串有两个常用的类型:char和varchar,二者各有优势,下面我们来详细分析一下。 1、char(n)类型     char类型时定长的类型,即当定义的是char(10...
  • puqutogether
  • puqutogether
  • 2015年05月11日 21:05
  • 1950

MySQL中char与varchar数据类型选择原则

char与varchar比较;针对MyISAM、InnoDB、Memory存储引擎如何选择char与varchar,以及一些可能的误区...
  • hsd2012
  • hsd2012
  • 2016年05月31日 15:37
  • 7259

oracle中varchar2字段转clob字段,并提供读取方法。

转载自:http://my.oschina.net/guyfar/blog/73837 问题描述 CMS系统中有一个表的字段(如:content)是varchar2类型(最多只能存储400...
  • l2tp1012
  • l2tp1012
  • 2014年06月14日 15:01
  • 15700

MySQL数据库char与varchar区别

① VARCHAR与CHAR字符型数据的差异字符串数据类型 MySQL数据类型 含义 char(n) 固定长度,最多...
  • Gane_Cheng
  • Gane_Cheng
  • 2016年08月25日 17:10
  • 2493

long类型字段转换成varchar2类型

参考文档: How to Convert a Long to Varchar2 (文档 ID 228532.1) /*long类型字段转换成varchar2类型*/ --建表 create table...
  • ghostliming
  • ghostliming
  • 2015年12月27日 01:29
  • 4621

关于mysql中的int(N)、char(N)和varchar(N)类型的简单说明

在使用mysql时,int、char和varcahr这几种类型是比较常用的。在大学时有学过数据库,对于int(N)、char(N)和varchar(N)中的N一直了解的不是较透彻,前段时间在网上查了很...
  • ivnetware
  • ivnetware
  • 2016年05月22日 13:13
  • 1778

mysql中char与varchar的区别分析

以下内容转载自 :http://www.jb51.net/article/23575.htm char与varchar的区别 char (20)长度固定, 如'www.jb51.net' 存储...
  • gycool21
  • gycool21
  • 2016年08月22日 19:07
  • 1101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CHAR,VARCHAR,VARCHAR2类型的区别与使用
举报原因:
原因补充:

(最多只允许输入30个字)