首页 > 编程知识 正文

Oracle的数据类型,oracle数据库基本数据类型

时间:2023-05-05 23:38:30 阅读:232184 作者:1433

Part1  oracle数据类型分析

一、数据类型

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

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

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

4  date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i/9i/10g其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。缺省格式为DD-MON-YY,如07-11月-00 表示  2000年11月7日。 

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

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

6  raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8/9i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档, 以及音频、视频等非文本文件。

raw是一种较老的数据类型,将来会逐渐被BLOB、NCLOB等大的对象数据类型所取代。 

7  long raw 可变长二进制数据,最大长度是2GB。Oracle 8i/9i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。

在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、NCLOB等大的对象数据类型所取代。 

8  blob clob nclob

三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字段的类型,Oracle 9i/10g实实在在地将这些数据存储在数据库内部保存。

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

9  bfile 无 在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。Oracle 8i/9i/10g可以读取、查询BFILE,但是不能写入。大小由操作系统决定。 

二、ORACLE中的数据类型分类

1、字符数据类型:包括我CHAR,VARCHAR2,LONG。

CHAR型:可以存储字母数字值,这种数据类型的列长度可以是1到2000个字节。如果未指明,则默认其占用一个字节,如果用户输入的值小于指定的长度,数据库则用空格填充至固定长度。

VARCHAR2型:其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名。数据类型大小在1至4000个字节,但是和CHAR不同的一点是:kkdqj定义了VARCHAR2长度为30,但是你只输入了10个字符,这时VARCHAR2不会像CHAR一样填充,在数据库中只有10具字节。

LONG型:此数据类型用来存储可变长度的字符数据,最多能存储2GB。但是有一些限制:一个表中只有一列可以为LONG型,LONG列不能定义为主键或唯一约束,不能建立索引,过程或存储过程不能接受LONG数据类型的参数。

2、数值数据类型:只有NUMBER型,但是NUMBER功能不小,它可以存储正数,负数,零,定点数和精度为30位的浮点数。格式为(P=38,S=0),其中P为精度,表示数字的总位数,它在1-38之间,S为范围,表示小数点右边的数字的位数,它在-84至127之间。

3、日期时间数据类型:有DATE数据类型,TIMESTAMP数据类型。

DATE用于存储表中的日期和时间数据,ORACLE使用自己的格式存储日期,使用7个字节固定长度,每个字节分别存储世纪,年月日,小时,分和秒。日期数据类型的值从公元前4712年1月1日到公元9999年12月31日。ORACLE中的SYSDATE函数用于返回当前的日期和时间。TIMESTAMP数据类型与DATE不同的是:它还返回当前的时区。

4、 RAW和LONG RAW 数据类型此种数据类型主要用于存储二进制数据。RAW用于存储基于字节的数据,最多能存储2000个字节,它没有默认大小,所以在使用时要指定大小,可以建立索引。

RAW LONG用于存储可变长度的二进制数据,最多能存储2GB,它受的限制和LONG类型一样。

5、LOB数据类型

● LOB又称为“大对象”数据类型:主要有CLOB,BLOB(NBLOB),BFILE,三种子类型。

● CLOB代表(CHARACTER LOB),它能够存储大量字符数据,可以存储非结构化的XML文档。

● BLOB代表(BINARY LOB),它可以存储较大的二进制对象;如图形,音视频剪辑。

BFILE代表(BINARY FILE),它能够将二进制文件存储在数据库外部的操作系统文件中,注意是二进制文件,不是一般数据,BFILE列存储一个BFILE定位器,它指向位于服务器文件系统上的二进制文件,支持的文件最大为4GB。不过ORACLE10以上的会更大,这还需要硬件方面的支持。

Part2  Oracle 9i/10g共提供了16种标量数据类型

Oracle 9i共提供了16种标量数据类型,如表1所示。

名称

含义

Char

用于描述定长的字符型数据,长度<=2000字节

varchar2

用于描述变长的字符型数据,长度<=4000字节

nchar

用来存储Unicode字符集的定长字符型数据,长度<=1000字节

nvarchar2

用来存储Unicode字符集的变长字符型数据,长度<=1000字节

number

用来存储整型或者浮点型数值

Date

用来存储日期数据

Long

用来存储最大长度为2GB的变长字符数据

Raw

用来存储非结构化数据的变长字符数据,长度<=2000字节

Long raw

用来存储非结构化数据的变长字符数据,长度<=2GB

rowid

用来存储表中列的物理地址的二进制数据,占用固定的10个字节

Blob

用来存储多达4GB的非结构化的二进制数据

Clob

用来存储多达4GB的字符数据

nclob

用来存储多达4GB的Unicode字符数据

Bfile

用来把非结构化的二进制数据存储在数据库以外的操作系统文件中

urowid

用来存储表示任何类型列地址的二进制数据

float

用来存储浮点数

 

HTML div三边怎么加边框

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。