Jincw! A za A za Fighting!

既然选择了远方,便只顾风雨兼程!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Oracle 9i的数据类型

Posted on 2007-06-21 17:09  西瓜K菠萝  阅读(441)  评论(0编辑  收藏  举报
Oracle 9i的数据类型
 

Oracle 9i共提供了16种标量数据类型,

名称                                         含义
Char                   用于描述定长的字符型数据,长度<=2000字节
varchar2             用于描述变长的字符型数据,长度<=4000字节
                       可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209。


nchar                  用来存储Unicode字符集的定长字符型数据,长度<=1000字节
nvarchar2            用来存储Unicode字符集的变长字符型数据,长度<=1000字节
number               用来存储整型或者浮点型数值
                     可变长的数值列,允许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的变长字符数据
                 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
Raw                    用来存储非结构化数据的变长字符数据,长度<=2000字节
Long raw            用来存储非结构化数据的变长字符数据,长度<=2GB
                可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
rowid                  用来存储表中列的物理地址的二进制数据,占用固定的10个字节
Blob                   用来存储多达4GB的非结构化的二进制数据
Clob                   用来存储多达4GB的字符数据
nclob                  用来存储多达4GB的Unicode字符数据

三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。


Bfile                   用来把非结构化的二进制数据存储在数据库以外的操作系统文件中
                在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。Oracle 8i可以读取、查询BFILE,但是不能写入。大小由操作系统决定。
urowid               用来存储表示任何类型列地址的二进制数据
float                   用来存储浮点数