标量(scalar)数据类型
标量(scalar)数据类型没有内部组件,他们大致可分为以下四类:
. number
. character
. date/time
. boolean
表1显示了数字数据类型;表2显示了字符数据类型;表3显示了日期和布尔数据类型。
表1 Scalar Types:Numeric
| Datatype | Range | Subtypes | description | 
| BINARY_INTEGER | -214748-2147483647 | NATURAL NATURAL NPOSITIVE POSITIVEN SIGNTYPE | 用于存储单字节整数。 要求存储长度低于NUMBER值。 用于限制范围的子类型(SUBTYPE): NATURAL:用于非负数 POSITIVE:只用于正数 NATURALN:只用于非负数和非NULL值 POSITIVEN:只用于正数,不能用于NULL值 SIGNTYPE:只有值:-1、0或1. | 
| NUMBER | 1.0E-130-9.99E125 | DEC 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 字符数据类型
| datatype | rang | subtype | description | 
| CHAR | 最大长度32767字节 | CHARACTER | 存储定长字符串,如果长度没有确定,缺省是1 | 
| LONG | 最大长度2147483647字节 | 存储可变长度字符串 | |
| RAW | 最大长度32767字节 | 用于存储二进制数据和字节字符串,当在两个数据库之间进行传递时,RAW数据不在字符集之间进行转换。 | |
| LONGRAW | 最大长度2147483647 | 与LONG数据类型相似,同样他也不能在字符集之间进行转换。 | |
| ROWID | 18个字节 | 与数据库ROWID伪列类型相同,能够存储一个行标示符,可以将行标示符看作数据库中每一行的唯一键值。 | |
| VARCHAR2 | 最大长度32767字节 | STRINGVARCHAR | 与VARCHAR数据类型相似,存储可变长度的字符串。声明方法与VARCHAR相同 | 
CHAR 字符型 定长字符串
LONG 字符型 变长字符串,最大长度可达32,767
DATE 日期型 以数据库相同的格式存放日期值
BOOLEAN 布尔型 TRUE OR FALSE
ROWID ROWID 存放数据库的行号
表3 DATE和BOOLEAN
| datatype | range | description | 
| BOOLEAN | TRUE/FALSE | 存储逻辑值TRUE或FALSE,无参数 | 
| DATE | 01/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所示
| operator | operation | 
| + | 加 | 
| - | 减 | 
| / | 除 | 
| * | 乘 | 
| ** | 乘方 | 
关系操作符主要用于条件判断语句或用于where子串中,关系操作符检查条件和结果是否为true或false,表5是PL/SQL中的关系操作符
| operator | operation | 
| < | 小于操作符 | 
| <= | 小于或等于操作符 | 
| > | 大于操作符 | 
| >= | 大于或等于操作符 | 
| = | 等于操作符 | 
| != | 不等于操作符 | 
| <> | 不等于操作符 | 
| := | 赋值操作符 | 
表6 显示的是比较操作符
| operator | operation | 
| IS NULL | 如果操作数为NULL返回TRUE | 
| LIKE | 比较字符串值 | 
| BETWEEN | 验证值是否在范围之内 | 
| IN | 验证操作数在设定的一系列值中 | 
表7.8显示的是逻辑操作符
| operator | operation | 
| AND | 两个条件都必须满足 | 
| OR | 只要满足两个条件中的一个 | 
| NOT | 取反 | 
【PL/SQL数据类型及操作符】相关文章:
