PL/SQL数据类型及操作符

所属分类: 数据库 / oracle 阅读数: 69
收藏 0 赞 0 分享
标量(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 取反

更多精彩内容其他人还在看

VS2015连接Oracle数据库的详细步骤

这篇文章主要介绍了VS2015连接Oracle数据库的详细步骤,需要的朋友可以参考下
收藏 0 赞 0 分享

常用的Oracle doc命令(收藏)

这篇文章主要介绍了常用的Oracle doc命令(收藏)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

ORACLE SQL语句优化技术要点解析

这篇文章主要介绍了ORACLE SQL语句优化技术的相关内容,小编觉得挺不错的,在这里分享给大家,需要的朋友可以参考下。
收藏 0 赞 0 分享

ORACLE多条件统计查询的简单方法

这篇文章主要介绍了ORACLE多条件统计查询的简单方法,具有一定参考价值。这里给大家分享下,希望对大家有所帮助。
收藏 0 赞 0 分享

ORACLE批量导入图片到BLOB字段代码示例

这篇文章主要介绍了ORACLE批量导入图片到BLOB字段代码示例,此代码示例是文章作者的项目源码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

PLSQL Developer登录的默认密码介绍

这篇文章主要介绍了PLSQL Developer登录的默认密码介绍,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Oracle数据行拆分多行方法示例

oracle数据库使用过程中,怎样将一行或者多行数据分割成需要的多行数据,本文我们就来看看具体方法,需要的朋友可以参考。
收藏 0 赞 0 分享

Oracle表空间不足的两种解决办法

这篇文章主要介绍了Oracle表空间不足的两种解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

巧妙解决Oracle NClob读写问题(经验分享)

下面小编就为大家带来一篇巧妙解决Oracle NClob读写问题(经验分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

oracle执行update语句时卡住问题分析及解决办法

这篇文章主要介绍了oracle执行update语句时卡住问题分析及解决办法,涉及记录锁等相关知识,具有一定参考价值,需要的朋友可以了解。
收藏 0 赞 0 分享
查看更多