• 【转】ORACLE的数据类型


    原文;http://linjian004.bokee.com/3916067.html

    常用的数据库字段类型如下:

    字段类型 中文说明 限制条件 其它说明
    CHAR 固定长度字符串 最大长度2000 bytes  
    VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
    NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes  
    NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes  
    DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题
    LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
    RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
    LONG RAW 可变长度的二进制数据 最大长度2G 同上
    BLOB 二进制数据 最大长度4G  
    CLOB 字符数据 最大长度4G  
    NCLOB 根据字符集而定的字符数据 最大长度4G  
    BFILE 存放在数据库外的二进制数据 最大长度4G  
    ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1
    NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
    NUMBER(P,S) 数字类型 P为整数位,S为小数位
    DECIMAL(P,S) 数字类型 P为整数位,S为小数位
    INTEGER 整数类型 小的整数
    FLOAT 浮点数类型 NUMBER(38),双精度
    REAL 实数类型 NUMBER(63),精度更高

      

    数据类型 参数 描述
    char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)
    varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,
    这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。
    如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,
    如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。
    可做索引的最大长度3209。
    number(m,n) m=1 to 38
    n=-84 to 127
    可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。
    如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。
    如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。
    如:number(3,0),输入575.316,真正保存的数据是575。
    date 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,
    Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。
    缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。
    long 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
    long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
    raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。
    raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
    long raw 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。
    在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
    blob
    clob
    nclob
    三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。
    LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。
    可以执行读取、存储、写入等特殊操作。
    bfile 在数据库外部保存的大型二进制对象文件,最大长度是4GB。
    这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。
    Oracle 8i可以读取、查询BFILE,但是不能写入。
    大小由操作系统决定。

                  

    ORACLE中的数据类型

    当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW等类型。虽然ORACLE8i也允许你自定义数据类型,但是它们是最基本的数据类型。在下面的文章中你将了解到他们在oracle 中的用法、限制以及允许值。

    Character 数据类型

    Character 数据类型用来存储字母数字型数据。当你在oracle 中定义一个character 数据时,通常需要制定字段的长度,它是该字段的最大长度。ORACLE提供以下几种character 数据类型:

    CHAR(<size>) CHAR数据类型是一种有固定长度和最大长度的字符串。存储在数据类型为CHAR字段中的数据将以空格的形式补到最大长度。长度定义在1——2000字节之间。

    当你创建一个CHAR型字段,数据库将保证在这个字段中的所有数据是定义长度,如果某个数据比定义长度短,那么将用空格在数据的右边补到定义长度。如果长度大于定义长度将会触发错误信息。

    VARCHAR(<size>) varchar型数据是varchar2型数据的快照。

    VARCHAR2(<size>) varchar2数据类型是一种可变长度的、有最大长度的字母数字型数据。Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。

      一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。

    NCHAR(<size>) 和 NVARCHAR2(<size>)  NCHAR(<size>) 和NVARCHAR2(<size>)数据类型分别与CHAR(<size>) 和 VARCHAR2(<size>)类型是相同的,只不过它们用来存储NLS(National Language Support)数据。

    LONG  LONG 数据类型是一个遗留下来的而且在将来不会被支持的数据类型。它将被LOB(Large Object)数据类型所代替。

    比较规则 Varchar2和char数据类型根据尾部的空格有不同的比较规则。对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序比没有空格的要大些。比如:

           Char 型数据:              ‘YO’=‘YO     ’

           Varchar2型数据:           ‘YO’<’YO     ’

    l         Numberic 数据类型

    Numberic 数据类型用来存储负的和正的整数、分数和浮点型数据,范围在-1*10-103和9.999…99*10125之间,有38位的精确度。标识一个数据超出这个范围时就会出错。

    Number(<p>,<s>) Number数据类型存储一个有p位精确度的s位等级的数据。

    l         DATE 数据类型

    DATE 数据类型用来存储日期和时间格式的数据。这种格式可以转换为其他格式的数据去浏览,而且它有专门的函数和属性用来控制和计算。以下的几种信息都包含在DATE数据类型中:

    Ø         Century

    Ø         Year

    Ø         Month

    Ø         Day

    Ø         Hour

    Ø         Minute

    Ø         Second

    LOB 数据类型

       LOB(Large Object) 数据类型存储非结构化数据,比如二进制文件,图形文件,或其他外部文件。LOB 可以存储到4G字节大小。数据可以存储到数据库中也可以存储到外部数据文件中。LOB数据的控制通过DBMS_LOB 包实现。BLOB, NCLOB, 和CLOB 数据可以存储到不同的表空间中,BFILE存储在服务器上的外部文件中。LOB数据类型有以下几种:

    Ø         BLOB: 二进制数据

    Ø         CLOB: 字符型数据

    Ø         BFILE: 二进制文件

    其他数据类型

    ROWID ROWID 数据类型是ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。

  • 相关阅读:
    [原创] 分享一些linux教程
    [转] linux中pam模块
    [转] 虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
    [转] linux中常用的命令
    dede调用指定的多个栏目导航
    dede留言板BUG解决
    织梦如何实现二级栏目导航的仿制
    DEDE数据库修改
    任务管理器磁盘显示100%
    再次改版轮播图
  • 原文地址:https://www.cnblogs.com/liuyuanyuanGOGO/p/3205392.html
Copyright © 2020-2023  润新知