• 2004-11-21

    Oracle 数据类型

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://ryuryu.blogbus.com/logs/508659.html

    数据类型

    数据长度和表达范围

    说明

    BLOB

    CLOB

    NLOB

    变长

    最大长度4GB(字符类型不同决定LOB类型)

    三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Microsoft Word文档,以及音频、视频等非文本文件,最大长度是4GB

    • LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。

    可以执行读取、存储、写入等特殊操作。

    • NCLOB 用来存储多达4GBUNICODE字符数据

    BFILE

    变长

    最大长度4GB

    在数据库外部保存的大型二进制对象文件,最大长度是4GB

    这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。

    • Oracle 8i可以读取、查询BFILE,但是不能写入。
    大小由操作系统决定。

    CHAR(N)

    NCHAR(N)

    Subtypes:
    CHARACTER

    定长,为N个字节

    • CHAR最大长度2000字节

    • NCHAR最大长度1000字节

    定长字符串,N字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)

    • NCHAR存储UNICODE字符集的定长字符型数据

    • CHARACTER等同CHAR

    VARCHAR2(N)

    NVARCHAR2(N)

    Subtypes:
    VARCHAR

    变长

    • VARCHAR2最大长度4000字节

    • NVARCHAR2最大长度2000字节

    可变长的字符串,具体定义时指明最大长度N

    这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。

    如果数据长度没有达到最大值NOracle 8i会根据数据大小自动调节字段长度,如果数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。

    • NVARCHAR2 用来存储UNICODE字符集的变长字符型数据。

    • VARCHAR等同VARCHAR2

    DATE

    定长,7个字节

    从公元前471211到公元47121231的所有合法日期, Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中包括世纪、

    年、月、日、小时、分、秒,每部分一个字节。

    缺省格式为DD-MON-YY,如07-11-00 表示2000117

    NUMBER(P,S)

    Subtypes:
    DEC
    DECIMAL
    DOUBLE PRECISION
    INTEGER
    INT
    NUMERIC
    REAL
    SMALLINT

    变长

    • P:精度,1~38

    • S:刻度,-84~127

    采用BDC码存储。

    可变长的数值列,允许0、正值及负值,M是所有有效数字的位数,N是小数点以后的位数。
    如:NUMBER(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。
    如:NUMBER(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32
    如:NUMBER(3,0),输入575.316,真正保存的数据是575

    Subtypes中只有FLOATDOUBLE PRECISION会显示为FLOAT,其他都用NUMBER代替

    BINARY_INTEGER

    Subtypes:
    NATURAL
    NATURALN
    POSITIVE
    POSITIVEN
    SIGHTYPE

    定长

    表达范围

    –2,147,483,647..2,147,483,647
     NATURAL 0.. 2,147,483,647
     NARURAL 0.. 2,147,483,647 NOT NULL
     POSITIVE 1.. 2,147,483,647
     POSITIVE 1.. 2,147,483,647 NOT NULL
     SIGH -1,0,1

    2的补码二进制存储。

    该种类型用于算数表达式,不能作为列的属性。

    PLS_INTEGER

    定长

    表达范围

    –2,147,483,647..2,147,483,647

    基本与BINARY_INTEGER相同。

    计算发生溢出时,会发生错误,而对BINARY_INTEGER则会指派给NUMBER变量,而不发生错误。

    LONG

    变长

    最大长度2GB

    可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用VARCHAR2类型。

    • LONG是一种较老的数据类型,将来会逐渐被BLOBCLOBNCLOB等大的对象数据类型所取代。

    RAW(N)

    变长

    最大长度255字节


    历史上的今天:


    收藏到:Del.icio.us




    引用地址: