下面是一个计算根据分子、分母计算百分比的函数

  1. create or replace function getpercentage(fenzi number, 
  2.                                          fenmu number) 
  3.  return number is 
  4.  v_result number(18); 
  5.  
  6. begin 
  7.   select ROUND((case 
  8.                  when fenzi > 0 and fenmu > 0 then 
  9.                   fenzi / fenmu * 100 
  10.                  else 
  11.                   0 
  12.                end), 
  13.                0) into v_result from dual; 
  14.          return  v_result; 
  15. end  getpercentage; 

用户自定义的单值函数和系统内置的单值函数(如to_char、add_months)的调用方法完全相同

如上面的函数调用可以:

  1. select getpercentage(80,100) as percentage  from dual