Oracle数据库编程经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例012 输出指定精度的数据

【实例描述】

在许多计算应用中,通常需要输出指定精度的数据或结果。PL/SQL支持在声明变量时指定变量的精度和刻度。本实例对010实例(使用常量计算圆面积)进行改写,指定圆面积的输出精度为小数点后3位,在SQL*Plus中运行后,其输出结果如图1-32所示。

图1-32 输出指定精度的数据

【实现代码】

    SQL>  DECLARE
      2  PI CONSTANT NUMBER:=3.14;
      3  RADIUS NUMBER DEFAULT 3.3;
      4  AREA NUMBER(6,3);
      5  BEGIN
      6  AREA:=PI*RADIUS*RADIUS;
      7  DBMS_OUTPUT.PUT_LINE(AREA);
      8  END;
      9  /

【范例解析】

本实例中声明变量area的数据类型为number(6,3),其中括号中的两个数字前者设置变量的精度,后者设置变量的刻度。精度表示从数字的最前面不为零开始到刻度精确到的位置,刻度有以下两种选择。

● 当刻度为正数的时候,表示四舍五入到小数点后面的位数。

● 当刻度为负数的时候,表示四舍五入到小数点前面的位数。

本实例中声明的变量area精度为6,即允许数字为6个,刻度为3表示四舍五入精确到小数点后3位。

注意:当输出数据的实际精度大于声明变量时指定的精度,在输出时将出现错误信息,不能存储。