`
java_2007
  • 浏览: 121715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多

区别:
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会更好一些。

 

 Oracle数据库中char(),varchar2(),nvarchar2()三种数据类型的区别
1.      char()类型:
(1)如果在数据库中定义的长度为10位,而我实际入力的数据长度不足10位,系统会在入力数据的后面用空字符串补足10位。
(2)一个全角认作2位长度。
2.      varchar2()类型:
(1)      不足数据库规定长度,不会补足长度。
(2)      一个全角认作2位长度。
3.      nvarchar2()类型:
(1)      不足数据库规定长度,不会补足长度。
(2)      一个全角认作1位长度。
结论:由此在做设计时,为节省系统资源会尽量选用varchar2()和nvarchar2()类型

分享到:
评论

相关推荐

    oracle char,varchar,varchar2的区别和使用方法

    oracle char,varchar,varchar2的区别和使用方法 非本人总结,但是说的挺好的! 欢迎下载

    oracle中varchar2(byte)和varchar2(char).doc

    oracle中varchar2(byte)和varchar2(char) 细节决定成败,大家在设计数据库建表的时候一定要注意。

    浅析Oracle中char和varchar2的区别 电脑资料.docx

    浅析Oracle中char和varchar2的区别 电脑资料.docx

    浅析Oracle中char和varchar2的区别

    char是定长的 char(10) varchar2(10) 同样存 a ,char占用了10个字符,varchar2 只占用了 一个字符(一个中文占两个字符,英文占一个)。 但是char的查询速度要比varchar2快。varchar2,Oracle还要进行语法分析,这...

    ORACLE中的数据类型.doc

    NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()数据类型分别与CHAR() 和 VARCHAR2()类型是相同的,只不过它们用来存储NLS(National Language Support)数据。 LONG LONG 数据类型是一个遗留下来的而且在将来不会...

    MySQL中把varchar类型转为date类型方法详解

    先使用str_to_date函数,将其varchar类型转为日期类型,然后从小到大排序 语法:select str_to_date(class_time,’%Y%m%d %H:%i:%s’) a from a order by a desc ; 下面接着看下oracle中varchar类型的日期格式转换...

    Oracle 数据类型

    2、varchar2,用于存储可变长度的字符串,使用该数据类型可节省磁盘空间,但存储效率没有CHAR高 3、NCHAR和nvarchar2,NCHAR和CHAR区别在于NCHAR用来存储Unicode字符集类型,即双字节字符数据,CHAR是一个字节,而...

    05.Oracle数据类型1

    2、变长度的字符串变长度字符串用varchar2表示,与char类型不同,Oracle不会在数据内容后面填充任何内容 3、char和varchar2的比较cha

    Oracle内置SQL函数-分类整理大全

    字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符),而CHAR数值被限制为255字符(在ORACLE8中是2000).当在过程性语句中使用时,它们可以被...

    深入ORACLE变量的定义与使用的详解

    在编写PL/SQL程序时,可以使用标量(Scalar)类型、复合(Composite)类型、参照(Reference)类型和LOB(LargeObject)类型等四种类型。在PL/SQL中用的最多的就是标量变量,当定义标量变量时,必须要指定标题数据...

    Oracle数据类型说明

    Oracle数据类型说明,CHAR VARCHAR2 NCHAR NVARCHAR2 等

    Oracle P/L SQL实现FTP上传、下载功能

    Oracle P/L SQL实现FTP上传、下载功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 --Oracle上的FTP功能 Create or Replace Package UTL_FTP AUTHID CURRENT_USER as Type Connection ...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    Oracle接收长度大于4000的字符串

    Oracle接收长度大于4000的字符串 Oracle接收长度大于4000的字符串

    Oracle数据库SQL基本应用与介绍

    文字列型:CHAR、nchar、varchar2、nvarchar2、long 数值型:number、integer、float、int等。 日期型、期间型:date、timestamp、timestamp with time zone等。 Oracle数据库对象:cluster、数据库联接、触发器、...

    oracle基本数据类型存储格式浅析.pdf

    oracle 的基本数据类型的存储格式有了一些了解,最近有做了一些测试进行了验证。打算整理总结一下,这一 篇主要说明字符类型的存储格式。主要包括char、varchar2 和long 等几种类型。

    Oracle P/L SQL实现发送Email、浏览网页等网络操作功能

    Create or Replace Function f_StrCat( as_input Varchar2 ) Return Varchar2 PARALLEL_ENABLE AGGREGATE USING strcat_type; / Grant Execute on f_StrCat To Public; --End of 使用聚合函数实现 多行合并 ...

    PB商品进销存管理系统

    GYSMC Varchar2 N 100 供应商名称 LXR Varchar2 Y 20 联系人 DHHM Varchar2 Y 100 电话号码 CZHM Varchar2 Y 100 传真号码 ADDRESS Varchar2 Y 200 地址 EMAIL Varcahr2 Y 40 电子邮件 ...

Global site tag (gtag.js) - Google Analytics