oracle变量(2)
来源:互联网 发布:淘宝网云裳广场舞服装 编辑:程序博客网 时间:2024/05/20 13:10
1.NUMBER
NUMBER类型既可以表示整数,也可以表示浮点数,格式如下:
NUMBER [ (precision , scale) ]
精度:所允许数值的总长度,也就是数值中所有数字位的个数,最大值为38.
刻度:刻度用来确定小数位数,同时也确定在什么地方进行舍入。当刻度是正数时,刻度范围是小数点右边的数字位个数。
当刻度是负数时,刻度范围是小数点左边的数字位个数,从该位开始舍入。
如果不指定精度和刻度,则默认为最大精度,即38位。
DECLARE num1 NUMBER:=3.1415926; --没有精度,默认为38位;结果:3.1415926 num2 number(3) :=3.1415926; --精度3,刻度0. 结果:3.142 -- num3 number(3) :=3141.5926; --错误,数字精度大于3。 num4 number(4,3) :=3.1415926; --刻度3,保留小数点后3位,舍入 。num4:=3.142 -- num5 number(4,3) :=3141.5926; --错误,数字精度大于3。 num6 number(8,3) :=31415.9267; --num6:=31415.927 num7 number(4,-3):=31415.9267; --刻度是-3,舍去小数点左边的前3位。num7:=31000 -- num8 number(4,-3):=12345678.901; --错误,数字精度大于4-(-3)。 num9 number(4,-3):=314.159267; --结果为0.因为刻度是3,舍去小数点左边3位。 num9:=0 -- num0 number(4,-1):=123456; --错误,数字精度大于4-(-1);BEGIN DBMS_OUTPUT.put_line('num1:=' || num1); DBMS_OUTPUT.put_line('num2:=' || num2); DBMS_OUTPUT.put_line('num4:=' || num4); DBMS_OUTPUT.put_line('num6:=' || num6); DBMS_OUTPUT.put_line('num7:=' || num7); DBMS_OUTPUT.put_line('num9:=' || num9);END;
2、LOB对象类型
LOB类型又称为大型对象类型,包含了BLOB,CLOB和NCLOB(内部存储)和BFILE(外部存储),它可以存储大的和没有结构的数据。例如文本、图像、视频和空间数据,大小能达到4GB。
LOB对象通过定位器来操作数据,因此在LOB类型中一般会包含一个定位器,定位器用于指向LOB数据。比如当使用查询语句选择一个BLOB类型的列时,将只有定位器被返回。
3、自定义子类型
自定义子类型,就是在标准类型的基础上进行进一步约束而创建的新类型。但实际上,子类型只是基类型的候选名称,不是一个新类型。
子类型的定义语法如下:
SUBTYPE subtype_name IS base_type[ (constraint) ] [ not null ]
【SUBTYPE】:用来指定当前声明一个子类型
【subtyep_name】:子类型名称
【IS】:指定子类型将要使用的基类型
【base_type】:指定子类型的基类,可以是任何标量类型或用户定义的类型。
【constraint】:约束知识用于限定基类型的精度和数值范围,或者最大长度。
【NOT NULL】:非空。
DECLARE SUBTYPE empcounttype IS INTEGER; --定义子类型 empcount empcounttype; --声明子类型变量 --定义表类型 TYPE empnamelist IS TABLE OF VARCHAR2 (20); SUBTYPE namelist IS empnamelist; --定义表类型的子类型。 --定义数组类型 TYPE T_arr IS VARRAY(20) OF VARCHAR2(20); SUBTYPE arr IS T_arr; --定义数组子类型 lsit arr; --定义记录类型 TYPE empinfo IS RECORD( empid number(4), empname varchar(20) ); SUBTYPE emprecord IS empinfo; --定义记录类型的子类型 T_emp emprecord; SUBTYPE empno IS emp.empid%TYPE; --定义%TYPE 子类型 SUBTYPE emprow IS emp%ROWTYPE; --定义%ROWTYPE 子类型 BEGIN NULL;END;
- oracle变量(2)
- oracle 绑定变量 bind variable(2)
- oracle 中的表变量(数组变量)
- oracle 关闭变量(&)开关
- oracle变量
- oracle 绑定变量(bind variable)
- oracle 绑定变量(bind variable)(1)
- oracle--SQL 变量
- oracle的参照变量
- Oracle 绑定变量
- Oracle 绑定变量
- Oracle中的绑定变量
- Oracle 绑定变量 详解
- oracle绑定变量
- Oracle 绑定变量
- oracle set 变量
- Oracle 变量的使用
- oracle(参照变量)
- hdu 1004 Let the balloon rise
- 使用Jsoup解析从网络上获取到的html源码
- Pascal's Triangle II
- 关于Openfire 启动失败 setFile()的问题
- form 转json
- oracle变量(2)
- HTML5中新增的Input类型有哪些
- 2015及2016计划
- 南邮 OJ 1961 计算机基础知识大赛 2 (new)
- Linux下QT编程之使用QVFB
- Spring @Autowired,@Resource,@Required注解的用法和作用
- 数据结构之树和二叉树---二叉树的遍历
- jQuery相关学习-Jquery的介绍和安装
- Espresso——实例分析