PL/SQL数据类型及操作符
来源:asp之家 发布时间:2009-02-26 11:17:00
标量(scalar)数据类型
标量(scalar)数据类型没有内部组件,他们大致可分为以下四类:
. number
. character
. date/time
. boolean
表1显示了数字数据类型;表2显示了字符数据类型;表3显示了日期和布尔数据类型。
表1 Scalar Types:Numeric
DatatypeRangeSubtypesdescriptionBINARY_INTEGER-214748-2147483647NATURAL
NATURAL
NPOSITIVE
POSITIVEN
SIGNTYPE
用于存储单字节整数。
要求存储长度低于NUMBER值。
用于限制范围的子类型(SUBTYPE):
NATURAL:用于非负数
POSITIVE:只用于正数
NATURALN:只用于非负数和非NULL值
POSITIVEN:只用于正数,不能用于NULL值
SIGNTYPE:只有值:-1、0或1.NUMBER1.0E-130-9.99E125DEC
DECIMAL
DOUBLE
PRECISION
FLOAT
INTEGERIC
INT
NUMERIC
REAL
SMALLINT
存储数字值,包括整数和浮点数。可以选择精度和刻度方式,语法:
number[(
[,])]。
缺省的精度是38,scale是0.
PLS_INTEGER-2147483647-2147483647 与BINARY_INTEGER基本相同,但采用机器运算时,PLS_INTEGER提供更好的性能 。
NUMBER 数字型 能存放整数值和实数值,并且可以定义精度和取值范围
BINARY_INTEGER 数字型 可存储带符号整数,为整数计算优化性能
DEC 数字型 NUMBER的子类型,小数
DOUBLE PRECISION 数字型 NUMBER的子类型,高精度实数
INTEGER 数字型 NUMBER的子类型,整数
INT 数字型 NUMBER的子类型,整数
NUMERIC 数字型 NUMBER的子类型,与NUMBER等价
REAL 数字型 NUMBER的子类型,与NUMBER等价
SMALLINT 数字型 NUMBER的子类型,取值范围比INTEGER小
VARCHAR2 字符型 存放可变长字符串,有最大长度
表2 字符数据类型
datatyperangsubtypedescriptionCHAR最大长度32767字节 CHARACTER存储定长字符串,如果长度没有确定,缺省是1LONG最大长度2147483647字节 存储可变长度字符串RAW 最大长度32767字节 用于存储二进制数据和字节字符串,当在两个数据库之间进行传递时,RAW数据不在字符集之间进行转换。LONGRAW最大长度2147483647 与LONG数据类型相似,同样他也不能在字符集之间进行转换。ROWID18个字节 与数据库ROWID伪列类型相同,能够存储一个行标示符,可以将行标示符看作数据库中每一行的唯一键值。VARCHAR2最大长度32767字节STRINGVARCHAR与VARCHAR数据类型相似,存储可变长度的字符串。声明方法与VARCHAR相同
CHAR 字符型 定长字符串
LONG 字符型 变长字符串,最大长度可达32,767
DATE 日期型 以数据库相同的格式存放日期值
BOOLEAN 布尔型 TRUE OR FALSE
ROWID ROWID 存放数据库的行号
表3 DATE和BOOLEAN
datatyperange descriptionBOOLEANTRUE/FALSE存储逻辑值TRUE或FALSE,无参数DATE01/01/4712 BC 存储固定长的日期和时间值,日期值中包含时间
LOB数据类型
LOB(大对象,Large object) 数据类型用于存储类似图像,声音这样的大型数据对象,LOB数据对象可以是二进制数据也可以是字符数据,其最大长度不超过4G。LOB数据类型支持任意访问方式,LONG只支持顺序访问方式。LOB存储在一个单独的位置上,同时一个"LOB定位符"(LOB locator)存储在原始的表中,该定位符是一个指向实际数据的指针。在PL/SQL中操作LOB数据对象使用ORACLE提供的包DBMS_LOB.LOB数据类型可分为以下四类:
. BFILE
. BLOB
. CLOB
. NCLOB
操作符
与其他程序设计语言相同,PL/SQL有一系列操作符。操作符分为下面几类:
. 算术操作符
. 关系操作符
. 比较操作符
. 逻辑操作符
算术操作符如表4所示
operatoroperation+ 加- 减/ 除* 乘**乘方
关系操作符主要用于条件判断语句或用于where子串中,关系操作符检查条件和结果是否为true或false,表5是PL/SQL中的关系操作符
operatoroperation< 小于操作符<= 小于或等于操作符> 大于操作符>=大于或等于操作符= 等于操作符 != 不等于操作符<> 不等于操作符:= 赋值操作符
表6 显示的是比较操作符
operator operationIS NULL如果操作数为NULL返回TRUELIKE比较字符串值BETWEEN验证值是否在范围之内IN验证操作数在设定的一系列值中
表7.8显示的是逻辑操作符
operatoroperationAND 两个条件都必须满足OR只要满足两个条件中的一个NOT取反
猜你喜欢
- ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然
- 如何在ADO中使用SQL函数?代码见下:<%Set conn1 = Server.CreateObjec
- 对于windows平台来说安装完MySQL后,系统就已经默认生成了许可表和账户,你不需要像在Unix平台上那样执行 mysql_instal
- 目前定时的操作有:一、Html页面的定时刷新(Refresh--刷新 ) 1,Refresh (刷新) 代码使用说明 说明:让网页多长时间(
- 如何在ADO服务器端利用好缓存技术?请看下面示例,这是一个用来显示图书分类的例子程序:displayBooks.asp< %
- 将图片读入到Dom中,并将其存为xml文件1、需要命名空间using System.Text;using System.IO;using S
- 一、问题描述当用JS调用form的方法submit直接提交form的时候,submit事件不响应。为什么?知道的请回复。类比一下,我用inp
- 很久以前写过如何成为优秀的设计师,近半年来经常做设计评审,有很多感触,顺便写一点下来,我们的Blog也应该有更高的更新频率。言归正传,我认为
- asp生成html如果采用utf8编码方式,多数采用的是Adodb.Stream组件,因为fso并不能支持Utf-8最近在写一个生成HTML
- 依次前移,实现聊友们的发言的更迭:function form1_onsubmit()if document.form1.
- 为网页设置防火墙的主要目的是根据网页内容对不同来访者提供不同的服务,利用Java Script或VB Script,我们很容易做到这一点。但
- 这是一个很和谐很实用的网站管理程序,和我以前介绍的服务器管理程序不同的是,这个程序只有一个功能,就是实现远程Web方式删除文件(实际上是重命
- var a = 0, b = 0;[0, 0].sort(function() {a = 1;return 0;});[0, 1].sort
- 作为一名数据库管理员,在进行代码迁移之前,我总是尽力给提交于开发环境的代码一个完整的面貌。但是,不得不承认,我不能保证不发生任何可能破坏开发
- 在dreamweaver4中,你可以存储你自己设定的图片,链接,flash影片,颜色表,模板等等,组成这个站点的资产,这就是Assets面板
- 删除备份和还原历史记录表中所有早于 oldest_date 的备份集的项目。由于执行备份或还原操作时会在备份和还原历史记录表中添加行,sp_
- 具体代码见下。在此程序中,由于使用了变量,我们需将全部聊友的昵称用“,”(逗号)来隔开,储存到application("visit
- 成天都要与样式打交道的朋友,相信对CSS选择符(CSS Selectors)都不会陌生。不过对于刚接触或者还不是很熟悉css的朋友来说,能够
- 如何利用网页弹出各种形式的窗口,我想大家大多都是知道些的,但那种多种多样的弹出式窗口是怎么搞出来的,我们今天就来学习一下:推荐:网页弹出窗口
- 有几个原因促使我们使用自定义的select控件来代替原生的select控件:在ie6下select是一个窗口级的元素,绝对定位的层会被sel