时间:2021-07-01 10:21:17 帮助过:50人阅读
| 分类 | 描述 | 
|---|---|
| 标量 | 单值没有内部组件,如NUMBER, DATE 或 BOOLEAN | 
| 大对象(LOB) | 指向其他数据项,如文本,图形图像,视频剪辑和声音等存储大对象 | 
| 复合 | 具有可单独访问的内部组件的数据项。例如,集合和记录 | 
| 引用 | 指向其他数据项 | 
一、标量 
1.PL/SQL标量数据类型和子类型
| 数据类型 | 描述 | 
|---|---|
| 数字 | 在其上执行的算术运算的数值 | 
| 字符 | 代表单个字符或字符的字母数字字符串值 | 
| 布尔 | 在其上执行的逻辑运算的逻辑值 | 
| 日期时间 | 日期和时间 | 
2.PL/SQL数值数据类型和子类型
| 数据类型 | 描述 | 
|---|---|
| PLS_INTEGER | 通过2,147,483,647到-2147483648范围内有符号整数,以32位表示 | 
| BINARY_INTEGER | 通过2,147,483,647到-2147483648范围内的有符号整数,以32位表示 | 
| BINARY_FLOAT | 单精度IEEE 754格式的浮点数 | 
| BINARY_DOUBLE | 双精度IEEE 754格式的浮点数 | 
| NUMBER(prec, scale) | 定点或浮点数在范围1E-130至(但不包括)绝对值1.0E126。 NUMBER变量也可以表示0 | 
| DEC(prec, scale) | ANSI具体的定点类型使用38位小数最大精度 | 
| DECIMAL(prec, scale) | IBM特定的固定点型具有38位小数最大精度 | 
| NUMERIC(pre, secale) | 浮点类型具有38位小数最大精度。 | 
| DOUBLE PRECISION | 具有126个二进制数字最大精度ANSI特定浮点型(约38位十进制数) | 
| FLOAT | 具有126个二进制数字(约38位十进制数)最大精度ANSI和IBM特定的浮点型 | 
| INT | 具有38位小数最大精度ANSI具体的整数类型 | 
| INTEGER | ANSI和IBM的38位小数最大精度具体的整数类型 | 
| SMALLINT | ANSI和IBM的38位小数最大精度具体的整数类型 | 
| REAL | 具有63位二进制数字最大精度浮点型(大约18位小数) | 
3.PL/SQL字符数据类型和子类型
| 数据类型 | 描述 | 
|---|---|
| CHAR | 具有32,767个字节的最大尺寸固定长度字符串 | 
| VARCHAR2 | 具有32,767个字节的最大尺寸变长字符串 | 
| RAW | 可变长度的二进制或字节字符串的32,767个字节的最大尺寸,而不是由PL/ SQL解释 | 
| NCHAR | 具有32,767个字节的最大尺寸的固定长度国家字符串 | 
| NVARCHAR2 | 具有32,767个字节的最大尺寸可变长度国家字符串 | 
| LONG | 具有32,760字节最大尺寸变长字符串 | 
| LONG RAW | 可变长度的二进制或字节字符串的32,760字节的最大尺寸,而不是由PL/SQL解释 | 
| ROWID | 物理行标识符,一行在一个普通的表中的地址 | 
| UROWID | 物理通用行标识符(物理,逻辑,或外国的行标识符) | 
 
4.PL/SQL布尔数据类型
在逻辑操作中使用布尔数据类型存储的逻辑值。逻辑值为:true 和 false 的布尔值以及 NULL 值。
但是,SQL没有数据类型等同于布尔。因此,布尔值不能用于:
   .SQL语句
   .内置SQL函数(如TO_CHAR)
   .从SQL语句调用PL/ SQL函数
5.PL/SQL日期时间和间隔类型
| 字段名称 | 有效日期时间值 | 有效的间隔值 | 
|---|---|---|
| YEAR | -4712 to 9999 (年除外 0) | 任何非零整数 | 
| MONTH | 01 to 12 | 0 to 11 | 
| DAY | 01 to 31 (受制于年份和月份的数值,按日历的区域设置的规则) | 任何非零整数 | 
| HOUR | 00 to 23 | 0 to 23 | 
| MINUTE | 00 to 59 | 0 to 59 | 
| SECOND | 00 to 59.9(n), 其中,9(n)是时间小数秒精度 | 0 to 59.9(n), 其中,9(n)是区间小数秒精度 | 
| TIMEZONE_HOUR | -12 to 14 (范围可容纳夏令时更改) | 不适用 | 
| TIMEZONE_MINUTE | 00 to 59 | 不适用 | 
| TIMEZONE_REGION | 在动态性能视图找到V$TIMEZONE_NAMES | 不适用 | 
| TIMEZONE_ABBR | 在动态性能视图找到V$TIMEZONE_NAMES | 不适用 | 
二、大对象(LOB)
大对象(LOB)数据类型是指大到数据项,例如文本,图形图像,视频剪辑和声音波形。 LOB数据类型允许高效的,随机的,分段访问这些数据。以下是预定义的PL/SQL LOB数据类型:
| 数据类型 | 描述 | 大小 | 
|---|---|---|
| BFILE | 用于存储大型二进制对象在操作数据库之外的系统文件 | 依赖于系统,不能超过4千兆字节(GB) | 
| BLOB | 用于存储大型二进制对象在数据库中 | 8到128兆兆字节(TB)的 | 
| CLOB | 用于存储字符大块数据在数据库中 | 8 - 128 TB | 
| NCLOB | 用于在数据库中存储大块NCHAR数据 | 8 - 128 TB | 
(三)PL/SQL数据类型
标签:区间 组件 字段名 浮点型 double min 标识 算术 记录