第13章 Oracle数据类型

(13页)

'第13章 Oracle数据类型'
第13章 Oracle数据类型 本章将进入Oracle数据类型的学习。Oracle中的数据类型主要应用场景为数据表中列的类型、函数、存储过程的变量定义。这些数据类型大致可以分为4类:字符型(character)、数值型(number)、日期型(date)和大对象型(LOB)。 字符型简介; 数值型简介; 日期时间型简介; lob类型简介; 特殊数据简介。 13.1 Oracle中的数据类型 基本数据类型各有多个实际类型。这些实际类型才可以直接应用于数据表列和变量定义。本节将简要介绍四种基本数据类型的各个实际类型。 13.1.1 字符型1.char(n)2.varchar(n)3.varchar2(n)4. nvarchar2(n) 13.1.2 数值型 Oracle中的数值型可以用于存储整数(integer)、浮点数(float)和实数(real number)。而所有这些数值类型都被统一为number型。Oracle中的number数据类型具有精度和小数位数。精度是数值中的数字总位数,最大位数为38位。小数位数则是小数点之后的位数。number表示number(38),即最大位数为38的整数。number(7,2)表示小数位数最大为2,整数部分最大位数为5的数值。number(3)表示最大3位的整数。 Oracle并没有定义整型(integer或者int),但是Oracle允许某个字段定义为整型,这是因为整型是工业标准的强制性要求。 13.1.3 日期时间型 日期时间型主要用来存储日期和时间格式的数据。Oracle中最常用的日期型为date,该类型中包含以下信息l Century:世纪信息;l Year:年份信息;l Month:月份信息;l Day:天数信息;l Hour:小时信息;l Minutes:分钟信息;l Second:秒数信息。 13.1.4 lob类型 lob类型主要用于存储大对象(Large Object)类型。例如,大量的文本信息(因为varchar2最大长度只能达到4000)、二进制文件等。lob类型的最大存储容量为4G字节,数据的存储形式可以为数据库,也可以是外部数据文件。lob类型有以下几种具体类型:l clob:用于存储大型文本数据,例如,备注信息。l blob:用于存储二进制数据,例如,图片文件的二进制内容。l bfile:作为单独文件存在的二进制数据。 13.2 Oracle中的特殊数据 四种基本数据类型保证了Oracle可以处理数据存储、变量使用等大部分的工作。另外,Oracle中存在着一些特殊的数据值得注意。 13.2.1 rowid rowid是用于标识数据物理地址的列。该列是一个伪列,它并非用户创建,而是由数据库自动为表添加,且只可供数据库内部使用。rowid的组成通常为10个字节。 select t.*, t.rowid from t_employees t; rowid的前6个字符代表数据对象编号,(例如AAAMbj);其后的三个字符代表文件编号(例如AAB);接下来的5个字符代表块编号(例如AAAN/);最后的4个字符代表行的编号(例如CAAA、CAAB)。分析表中各记录的rowid可知,表中的rowid是唯一的。一般情况下,可以认为在查询语句中没有指定排序标准时,将以rowid作为默认排序标准。 需要注意的是,rowid不能作为记录插入数据表的先后标准。rowid位置靠后的记录不一定是晚插入的记录。因为,Oracle总是查找空闲的空间进行插入动作。某些记录被删除之后,Oracle即可释放相应空间,之后插入的数据有可能存储于删除记录所带来的空闲空间中。其rowid将小于现有某些记录的rowid。 13.2.2 null与空字符串 Oracle中将空字符串视为null。在Oracle中判断某列的值是否为空,不能将该列的值与空字符串’’进行比较,而应该使用is null。 create table test_data (id varchar2(10), name varchar2(20)); begin insert into test_data values (1, '张三'); insert into test_data values (2, '李四'); insert into test_data values (3, ''); insert into test_data values(4, null); commit; end; select * from test_data where name = ''; select * from test_data where name is null; select * from test_data where name is not null; 13.2.3 单引号与双引号 与某些编程语言不同(例如,Javascript),Oracle中的单引号与双引号有着截然不同的意义。Oracle中的单引号用于界定字符串。而双引号则用于标识对象名称。 在SQL语句中单引号内为字符串,即普通数据。例如,select * from test_data where name = ‘张三’中的单引号。要想获得单引号的原义字符,需要使用两个连续单引号 双引号的作用: 1. 用作特殊的列名 alter table test_data rename column name to user name; 2. 控制列名的大小写形式 alter table test_data rename column age to "age"; 13.3 本章实例 varchar2是Oracle中最常用的数据类型,其长度的计算方式为字节数,而非字符长度。对于Oracle来说,使用字符长度是无法判断用户将要输入的为单字节字符还是双字节字符,因此无法预先划分存储区域给变量或表中的列。 create table data(data varchar2(2)); insert into data values('hi'); insert into data values('你好'); alter table data modify (data varchar2(4001)); alter table data modify (data varchar2(4000)); declare data varchar2(32768); begin data := 'hi'; end; 13.4 本章小结 本章简要讲述了Oracle中的四种基本数据类型:字符串类型、数值型、日期型和lob型。尤其需要注意的是varchar2类型的理解。对于特殊的数据,着重需要理解的是Oracle如何分析和解释多个单引号的字符串。而双引号的应用也不同于其他编程语言,在Oracle中,双引号主要用于界定特殊标识符,并将其作为对象名。 13.5 习题1.Oracle的数据类型主要有哪几类?2.简述rowid的意义3.简述Oracle中空字符串与null的关系。4.简述Oracle中双引号的作用。 第13章 Oracle数据类型 本章将进入Oracle数据类型的学习。Oracle中的数据类型主要应用场景为数据表中列的类型、函数、存储过程的变量定义。这些数据类型大致可以分为4类:字符型(character)、数值型(number)、日期型(date)和大对象型(LOB)。 字符型简介; 数值型简介; 日期时间型简介; lob类型简介; 特殊数据简介。 13.1 Oracle中的数据类型 基本数据类型各有多个实际类型。这些实际类型才可以直接应用于数据表列和变量定义。本节将简要介绍四种基本数据类型的各个实际类型。 13.1.1 字符型1.char(n)2.varchar(n)3.varchar2(n)4. nvarchar2(n) 13.1.2 数值型 Oracle中的数值型可以用于存储整数(integer)、浮点数(float)和实数(real number)。而所有这些数值类型都被统一为number型。Oracle中的number数据类型具有精度和小数位数。精度是数值中的数字总位数,最大位数为38位。小数位数则是小数点之后的位数。number表示number(38),即最大位数为38的整数。number(7,2)表示小数位数最大为2,整数部分最大位数为5的数值。number(3)表示最大3位的整数。 Oracle并没有定义整型(integer或者int),但是Oracle允许某个字段定义为整型,这是因为整型是工业标准的强制性要求。 13.1.3 日期时间型 日期时间型主要用来存储日期和时间格式的数据。Oracle中最常用的日期型为date,该类型中包含以下信息l Century:世纪信息;l Year:年份信息;l Month:月份信息;l Day:天数信息;l Hour:小时信息;l Minutes:分钟信息;l Second:秒数信息。 13.1.4 lob类型 lob类型主要用于存储大对象(Large Object)类型。例如,大量的文本信息(因为varchar2最大长度只能达到4000)、二进制文件等。lob类型的最大存储容量为4G字节,数据的存储形式可以为数据库,也可以是外部数据文件。lob类型有以下几种具体类型:l clob:用于存储大型文本数据,例如,备注信息。l blob:用于存储二进制数据,例如,图片文件的二进制内容。l bfile:作为单独文件存在的二进制数据。 13.2 Oracle中的特殊数据 四种基本数据类型保证了Oracle可以处理数据存储、变量使用等大部分的工作。另外,Oracle中存在着一些特殊的数据值得
关 键 词:
第13章Oracle数据类型
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:第13章 Oracle数据类型
链接地址: //www.wenku365.com/p-43737896.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开