您的当前位置:首页正文

ORACLE中的各种数据类型详细的介绍

来源:小奈知识网
ORACLE中的各种数据类型详细的介绍

数据类型

参数描述

char(n)

n=1to定长字符串,n字节长,如果不指定长度,2000缺省为1个字节长(⼀个汉字为2字节)字节

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

这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的n=1

字符集标准)中的所有符号。to

varchar2(n)如果数据长度没有达到最⼤值n,Oracle 8i

4000

会根据数据⼤⼩⾃动调节字段长度,字节

如果你的数据前后有空格,Oracle 8i会⾃动将其删去。VARCHAR2是最常⽤的数据类型。

可做索引的最⼤长度3209。可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是⼩数点以后的位数。

m=1如:number(5,2),则这个字段的最⼤值是to 3899,999,如果数值超出了位数限制就会被截

number(m,n)n=-取多余的位数。

84 to如:number(5,2),但在⼀⾏数据中的这个127字段输⼊575.316,则真正保存到字段中的

数值是575.32。

如:number(3,0),输⼊575.316,真正保存的数据是575。

从公元前4712年1⽉1⽇到公元4712年12⽉31⽇的所有合法⽇期,

Oracle 8i其实在内部是按7个字节来保存⽇期数据,在定义中还包括⼩时、分、秒。缺省格式为DD-MON-YY,如07-11⽉-00 表⽰2000年11⽉7⽇。

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

long是⼀种较⽼的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等⼤的对象数据类型所取代。

可变长⼆进制数据,在具体定义字段的时候必须指明最⼤长度n,Oracle 8i⽤这种格式

date⽆

long⽆

raw(n)

必须指明最⼤长度n,Oracle 8i⽤这种格式n=1来保存较⼩的图形⽂件或带格式的⽂本⽂to件,如Miceosoft Word⽂档。

2000raw是⼀种较⽼的数据类型,将来会逐渐被

BLOB、CLOB、NCLOB等⼤的对象数据类型所取代。

可变长⼆进制数据,最⼤长度是2GB。

Oracle 8i⽤这种格式来保存较⼤的图形⽂件或带格式的⽂本⽂件,如Miceosoft Word⽂档,以及⾳频、视频等⾮⽂本⽂件。在同⼀张表中不能同时有long类型和longraw类型,long raw也是⼀种较⽼的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等⼤的对象数据类型所取代。

三种⼤型对象(LOB),⽤来保存较⼤的图形⽂件或带格式的⽂本⽂件,如MiceosoftWord⽂档,以及⾳频、视频等⾮⽂本⽂件,最⼤长度是4GB。

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

可以执⾏读取、存储、写⼊等特殊操作。在数据库外部保存的⼤型⼆进制对象⽂件,最⼤长度是4GB。

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

Oracle 8i可以读取、查询BFILE,但是不能写⼊。

⼤⼩由操作系统决定。‘

long raw⽆

blobclobnclob

bfile⽆

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

  Character 数据类型

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

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

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

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

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

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

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

  nvarchar(n):可变长度 Unicode 数据,其最⼤长度为 4,000 字符

字节的存储⼤⼩是所输⼊字符个数的两倍, 就是说它是双字节来存储数据的。

如果存储数据如果存在单字节时,它也是以双字节来占⽤存储空间的。

varchar⼀般适⽤于英⽂和数字,Nvarchar适⽤中⽂和其他字符,其中N表⽰Unicode常量,可以解决多语⾔字符集之间的转换问题  LONG LONG 数据类型是⼀个遗留下来的⽽且在将来不会被⽀持的数据类型。它将被LOB(Large Object)数据类型所代替。

  ⽐较规则 Varchar2和char数据类型根据尾部的空格有不同的⽐较规则。对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序⽐没有空格的要⼤些。⽐如:  Char 型数据:       ‘YO’=‘YO   ’  Varchar2型数据:      ‘YO’<’YO   ’  Numberic 数据类型

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

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

  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数据表中的⼀个伪列,它是数据表中每⾏数据内在的唯⼀的标识。

因篇幅问题不能全部显示,请点此查看更多更全内容