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不同的一点是:当你定义了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

用来存储浮点数

oracle中的数据类型相关推荐

  1. Oracle中的数据类型和数据类型之间的转换

    Oracle中的数据类型 /*ORACLE 中的数据类型:char 长度固定 范围:1-2000VARCHAR2 长度可变 范围:1-4000LONG 长度可变 最大的范围2gb 长字符类型numbe ...

  2. oracle中raw是什么格式,oracle中RAW数据类型

    近日在研究v$latch视图时,发现一个从未见过的数据类型.v$latch 中ADDR属性的数据类型为RAW(4|8)  同时也发现v$process中的ADDR属性的数据类型也为RAW(4|8).于 ...

  3. java将clob类型文件写到磁盘_Java对Oracle中Clob类型数据的读取和写入

    Java对Oracle中Clob数据类型是不能够直接插入的,但是可以通过流的形式对clob类型数据写入或者读取,网上代码并不算特别多,讲的 Java对Oracle中Clob数据类型是不能够直接插入的, ...

  4. Oracle中CHAR类型不足位数时,用空格自动补足位数

    在今天开发过程中,发现了一查询结果很怪异,一GOOGLE下才知道是ORACLE对CHAR类型处理的问题,在ORACLE中对CHAR的处理是自动添加空格,比如char(8)存储'2007-11',则在后 ...

  5. mysql导出oracle_如何将mysql中的表结构导出放入oracle中

    展开全部 将mysql中的表结构导出放入oracle中的方法: 1.导出mysql的表结构sql脚本,然后修改mysql中的数据类型为oracle中的数据类型: MySql与Oracle数据类型的62 ...

  6. 【ORACLE】各种数据类型

    文章目录 汇总表 Character 数据类型 Numberic 数据类型 DATE 数据类型 LOB 数据类型 其他数据类型 来源 ORACLE数据类型大约分为:character, number, ...

  7. clob在java里的类型_Java对Oracle中Clob类型数据的读取和写入(转)

    Java对Oracle中Clob数据类型是不能够直接插入的,但是可以通过流的形式对clob类型数据写入或者读取,网上代码并不算特别多,讲的也不是很清楚,我对网上资料进行了整理和总结,具体看代码: 写入 ...

  8. 【数据库】Oracle中的字符型及处理方法

    与其他编程语言一样,oracle中同样存在着数据类型. oracle中的数据类型主要有两个应用场景:一是用于指定数据表中列的类型:二是用于PL/SQL编程中声明变量. oracle的数据类型主要包括: ...

  9. oracle权限分几种类型,Oracle权限和数据类型

    oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...

最新文章

  1. python 怕网页_他文献查到凌晨两点,我用Python十分钟搞定!
  2. 第十一回:琴房外度曲生慕意 书店里软语救阿四[林大帅作品集]
  3. java wait方法_java wait方法
  4. 浅谈Spring5 响应式编程
  5. java修饰方法有哪些,探讨Java语言中那些修饰符
  6. 怎样把电脑恢复出厂设置_数据蛙:苹果恢复出厂设置,彻底释放手机内存
  7. 实时--1.1 日志数据分析
  8. 电力电容器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. Ubuntu16 安装SBT
  10. 拓端tecdat|R语言中使用RCPP并行计算指数加权波动率
  11. SoftCnKiller高速下载器捆绑软件杀手
  12. php开发手册pdf版,TP5.0手册下载
  13. 用户故事与敏捷方法—发布计划
  14. linux驱动开发学习笔记十六:gpio相关OF函数和子系统API函数
  15. node.js上传图片
  16. javascript判断一个数是否是素数(质数)
  17. 开发者收到“加料”的假 Offer,害上家被盗近 6.25 亿美元!
  18. JUnit与Mockito单元测试典型示例
  19. 工信部回应手机APP等个人账户停止使用后注销难
  20. windows 8 照片详解

热门文章

  1. 如何从Windows EXE文件中提取图标
  2. C语言(itoa函数)
  3. 【融博笔试题】查找单链表倒数第k个结点的值
  4. 深度孪生自注意力网络:小样本条件下的多维时间序列分类
  5. html file onchange事件,input type=file 的onchange事件
  6. hsrp和vrrp的区别
  7. OOM问题小例子及思考
  8. java oom-killer_oom-killer
  9. 360安全卫士在收集你的密码么?
  10. Css 样式点击穿透