在plsql dev打开测试窗口,输入如下信息:
-- Created on 2018/3/21 by E.WANG
/*
标量:单值没有内部组件,如number、date、boolean
大对象(LOB):指向其他数据项,如文本,图形图像、视频剪辑和声音等存储大对象
复合:具有可单独访问的内部组件的数据项。如,集合和记录
引用:指向其他数据项
PLS_INTEGER:通过2,147,483,647到-2147483648范围内有符号整数,以32位表示
BINARY_INTEGER: 通过2,147,483,647到-2147483648范围内的有符号整数,以32位表示
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位小数)
*/
declare
-- Local variables here
plsInt pls_integer:=2147483646;
binaryInt binary_integer:=-2147483647;
number_1 number(2,1):=1.5;
number_2 number(2):=88;
number_3 number(8,4):=1234.23456;
dec_1 dec(12,8):=1234.56789101111;
dec_2 decimal(12,8):=9876.543210012345;
numeric_1 numeric(16,10):=123456.112212121212221122;
doublePre double precision:=22222.23235626652625666;
float_q float:=23.567;
int_1 int:=98765423;
integer_1 integer:=4567845645454;
smallInt_1 smallint:=111111111111111111111;
real_1 real:=123456.1111111111111111111;
begin
-- Test statements here
dbms_output.put_line('plsInt:' || plsInt);
dbms_output.put_line('binaryInt:' || binaryInt);
dbms_output.put_line('number_1:' || number_1);
dbms_output.put_line('number_2:' || number_2);
dbms_output.put_line('number_3:' || number_3);
dbms_output.put_line('dec_1:' || dec_1);
dbms_output.put_line('dec_2:' || dec_2);
dbms_output.put_line('numeric_1:' || numeric_1);
dbms_output.put_line('doublePre:' || doublePre);
dbms_output.put_line('float_q:' || float_q);
dbms_output.put_line('int_1:' || int_1);
dbms_output.put_line('integer_1:' || integer_1);
dbms_output.put_line('smallInt_1:' || smallInt_1);
dbms_output.put_line('real_1:' || real_1);
end;
窗口截图部分:
运行结果截图: