`
jdlsfl
  • 浏览: 156366 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle10g 数据类型

阅读更多
数据类型
   定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型
      ☆标量(SCALAR)
   合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。
      ☆数字
  数字,它有三种基本类型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER可以描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整数。   NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,最大38位,S是刻度范围,可在-84127间取值。例如:NUMBER(52)可以用来存储表示-999.99999.99间的数值。P、S可以在定义是省略,例如:NUMBER(5)、NUMBER等;   BINARY_INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。它以2的补码二进制形式表述。循环计数器经常使用这种类型。   PLS_INTEGER和BINARY_INTENER唯一区别是在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGER型的变量将会发生错误。
      ☆Number补充
   在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在 1.0 * 10(-130) —— 9.99 * 10(125) {38个9后边带88个0} 的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。      Number的数据声明如下:     1)Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为-84到127     2)Number(p) 声明一个整数 相当于Number(p, 0)     3)Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。     定点数的精度(p)和刻度(s)遵循以下规则:     当s>0时(s表示小数点右边的数字的个数):     当一个数的整数部分的长度 > p-s 时,Oracle就会报错      当一个数的小数部分的长度 > s 时,Oracle就会舍入。     当s<0时(s表示小数点左边的数字的个数):     Oracle就对小数点左边的s个数字进行舍入。      当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入
例如:    Value-->Datatype-->Stored Value     123.2564-->NUMBER-->123.2564(不限制)    1234.9876-->NUMBER(6,2)-->1234.99(精确到小数点后两位)    12345.12345-->NUMBER(6,2)-->Error(小数点左边的有效数字长度5+小数点右边的有效数字长度2>规定精度6)    1234.9876-->NUMBER(6)-->1235 (等价于NUMBER(6,0))    12345.345-->NUMBER(5,-2)-->12300 (小数点左边两位做四舍五入)    12345678-->NUMBER(5,-2)-->Error (8-2>5)    123456789-->NUMBER(5,-4)-->123460000     1234567890-->NUMBER(5,-4)-->Error     12345.58-->NUMBER(*1)-->12345.6     0.1-->NUMBER(4,5)-->Error     0.01234567-->NUMBER(4,5)-->0.01235     0.09999-->NUMBER(4,5)-->0.09999     0.099996-->NUMBER(4,5)-->Error 
      ☆字符
  字符,包括CHAR、VARCHAR2(VARCHAR)、LONG、NCHAR和NVARCHAR2几种类型。   CHAR,描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。   VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值,作为变量最大32767个字节,作为数据存储在ORACLE8中最大为4000。在多字节语言环境中,实际存储的字符个数可能小于L值,例如:当语言环境为中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列可以保存200个英文字符或者100个汉字字符。   LONG,在数据库存储中可以用来保存高达2G的数据,作为变量,可以表示一个最大长度为32760字节的可变字符串。   NCHAR、NVARCHAR2,国家字符集,与环境变量NLS指定的语言集密切相关,使用方法和CHAR、VARCHAR2相同。     (varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar。因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变,推荐用varchar2。)     (CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)。同理VARCHAR2与NVARCHAR2的区别。)
      ☆
  行,包括RAW和LONG RAW两种类型。用来存储二进制数据,不会在字符集间转换。   RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。   LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节。    (raw这种格式可以用来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。long raw 无可变长二进制数据,最大长度是2GB。Oracle用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代)
      ☆其他
  日期,只有一种类型--DATE,用来存储时间信息,站用7个字节(从世纪到秒),绝对没有“千年虫”问题。   行标识,只有一种类型--ROWID,用来存储“行标识符”,可以利用ROWIDTOCHAR函数来将行标识转换成为字符。   布尔,只有一种类型--BOOLEAN,仅仅可以表示TRUE、FALSE或者NULL。   可信,只有一种类型--MLSLABEL,可以在TRUSTED ORACLE中用来保存可变长度的二进制标签。在标准ORACLE中,只能存储NULL值。
      ☆复合(COMPOSITE)与引用(REFERENCE)【略】       ☆LOB
  LOB变量主要是用来存储大量数据的数据库字段,最大可以存储4G字节的内容。主要有:   CLOB:和ORACLE7中的LONG类型相似,存储单字节字符数据。(别用来存中文)   NCLOB:用来存储定宽多字节字符数据。   BLOB:和LONG RAW相似,用来存储无结构的二进制数据。   BFILE:它用来允许ORACLE对数据库外存储的大型二进制文本进行只读形式的访问。
分享到:
评论

相关推荐

    ORACLE 10g 数据类型

    ORACLE 10g 数据类型 PPT ORACLE 10g 数据类型 PPT

    oracle database 10g 完整参考手册part1

    第1章 Oracle Database 10g体系结构 第2章 安装Oracle Database 10g和创建数据库 第3章 升级到Oracle Database 10g 第4章 规划Oracle应用程序——方法、风险和标准 第Ⅱ部分 SQL和SQL*Plus 第5章 SQL中的基本语法 第...

    Oracle 10g 操作手册 Oracle数据类型精解

    Oracle10g reference操作手册,附Oracle数据类型精解,以及Powerdesigner实例傻瓜式图文教程,方便入门的同时提供相应实际实践经验

    oracle10g教程从入门到精通.doc

    不知有没有帮助二: Oracle的基本使用--基本命令 5 ...oracle支持的数据类型 10 字符类 10 数字型 10 日期类型 10 建表 10 修改表 11 删除表 11 添加数据 11 修改数据 12 删除数据 12 savepoint a; --创建保存点 12

    oracle10g课堂练习I(1)

    指定表中的数据类型 7-8 创建和修改表 7-11 了解数据完整性 7-13 定义约束条件 7-15 违反约束条件 7-16 约束条件状态 7-17 约束条件检查 7-19 使用 SQL 创建约束条件:示例 7-20 查看表中的列 7-21 查看表...

    Oracle 10g Concepts 中文版

    oracle官方的学习资料,中英文对照 目录如下: 第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 ...Chapter 27, Object Datatypes and Object Views 第 27 章,对象数据类型及对象视图

    oracle 10g 编程艺术

    本书是一本关于Oracle 9j az& 10g数据库体系结构的权威图书,涵盖了所有最重要的Oracle体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,以及分区和并行,并利用具体的...

    oracle数据类型

    Oracle10g的数据类型包括,OracleSQL类型和PL/SQL类型

    Oracle 10g数据库管理、应用与开发标准教程

    由浅入深地介绍了Oracle 10g系统的使用方法和基本管理。主要内容包括:Oracle关系数据库,Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和...

    Oracle 11g数据恢复向导恢复数据文件

    此文详细描述利用Oracle 11g数据恢复向导恢复数据库数据文件(system,undo,user等),根据文件类型不同详细描述了恢复流程及操作流程。

    Oracle11g从入门到精通2

    9.4.1 采用正确的数据类型 9.4.2 存储参数的正确设置 9.4.3 定期回收无用表空间 9.4.4 归档历史表空间 第10章 备份与恢复机制 10.1 备份与恢复的方法 10.2 使用数据泵进行逻辑备份和恢复 10.2.1 使用...

    Oracle Concepts中英文对照版(10g R2).chm

    Oracle Concepts中英文对照版(10g R2).chm &lt;br&gt;Part I What Is Oracle? 第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database ...

    Oracle数据类型详解

    关于Oracle 10g的数据类型,详细介绍了其与旧版本的区别和联系。

    Oracle 10g 学习笔记

    最新最全的Oracle10g学习笔记,Oracle的基本使用--基本命令oracle用户管理oracle表的管理(数据类型,表创建删除,数据CRUD操作oracle表查询

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    Oracle 11g中支持的数据类型 数据库定义语言(DDL) 约束的使用 数据操纵语言(DML) 第5章-利用SELECT检索数据 SQL-数据库沟通的语言标准 Oracle 11g中支持的数据类型 数据库定义语言(DDL) 约束的使用 ...

    基于Oracle10g的栅格数据共享机制研究与实现.pdf

    该机制采用了Oracle 10g 新增的栅格数据类型GeoRaster 提供的功能和方法, 并结合Commons2FileUpload 处理文件上传, FileInputStream 类和FileOutput2 Stream 类分别处理文件读写访问, 实现了栅格数据以Web 方式共享,...

    SQL Server2008 与 Oracle 11g 比较

    SQL Server2008 与 Oracle 11g 比较 PDF 繁体原版

    oracle 的数据类型

    具体的阐述了oracle中的各种数据类型,对于刚接触Oracle的初学者来说是个很好的参考。

Global site tag (gtag.js) - Google Analytics