博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle中的数据类型
阅读量:5224 次
发布时间:2019-06-14

本文共 1312 字,大约阅读时间需要 4 分钟。

1 基本数据类型

1)数值类型 number number可以通过number(p,s)来格式化数字。P表示精度,指数值中所有有效数字的个数。参数s表示刻度范围,表示小数点右边小数位的个数。

比如 num_money number(9,2);

2)字符类型 varchar2,char,long,nchar,nvarchar2等. varchar2 用于存储可变长度的字符串。最大长度为4000字节。char类型表示指定长度的字符串。char(maxlength)

maxlength表示可存储字符的最大长度。char类型的默认最大长度为1字节。long类型表示一个可变的字符串。

3)日期类型 只有一种 date类型。存储空间是7个字节 存储世纪、年、月、日、小时、分钟、秒

4)布尔类型 其变量值可以是TRUE,FALSE,或null。

2 特殊数据类型

1%type类型 可以申明一个与指定列名称相同的数据类型。例如 declare  var_job   emp.job%type; emp.job的数据类型是varchar(20),那么var_job的数据类型也是varchar(20); 其好处有1 不必查看表中各个列的数据类型,可以确保所定义的变量能够存储检索到的数据。2 如果对表中已有的数据类型进行修改,不必考虑对定义的变量进行类型更改。%type类型的变量会根据列的实际类型自动调整。

2 record类型 有记录的意思,使用该变量可以存储由多个列值组成的一行数据。如

set serveroutput on

declare
type emp_type is record
(
var_ename varchar2(20),
var_job varchar2(20),
var_sal number
);
empinfo emp_type;
begin
select ENAME,job,sal
into empinfo
from emp
where empno='7369';
DBMS_OUTPUT.PUT_LINE('1'||empinfo.var_ename||'2'||empinfo.var_job||'3'||empinfo.var_sal);
end;

3 %rowtype 类型  结合了%type和record类型的优点,可以根据数据表中行的结构定义一种特殊的数据类型。用来存储从数据表中检索到的一行数据. 比如

--%rowtype 类型 结合了%type和record的特点

declare
rowvar_emp emp%rowtype;
begin
select *
into rowvar_emp
from emp
where empno='7369';
/*输出检索到的信息*/
DBMS_OUTPUT.PUT_LINE('1 '||rowvar_emp.ename||' 2 '||rowvar_emp.empno||' 3 '||rowvar_emp.job);
end;

转载于:https://www.cnblogs.com/yachao1120/p/8647716.html

你可能感兴趣的文章
Spring IOC和Spring AOP的实现原理(源码主线流程)
查看>>
看天猫EDM营销学企业EDM营销
查看>>
设计模式—桥接模式
查看>>
react-native中的请求数据
查看>>
jquery判断checked的三种方法
查看>>
Python入门3_之使用字符串
查看>>
std::map使用结构体自定义键值
查看>>
Swift 与 JSON 数据
查看>>
一个老程序员的十年回顾:
查看>>
bzoj 3028 食物
查看>>
老男孩python学习_day003作业
查看>>
yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
查看>>
jQuery积累:serialize()、stringify()、toJSON()
查看>>
Python web 周总结
查看>>
Sequelize为什么需要使用Migrations
查看>>
数组undefined 逗号
查看>>
SSM-SpringMVC一些知识点
查看>>
关于URL编码的问题
查看>>
React.js 小书 Lesson22 - props.children 和容器类组件
查看>>
python之optparse
查看>>