日期:2014-05-16  浏览次数:20563 次

ORACLE的所有字段类型

? 字段类型 ????????? ?中文说明 ??????????????????????????????????????????????????? ????? ?限制条件 ? 其它说明 ? ?
? 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),精度更高????

当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。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)数据。
  
  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数据类型有以下几种: