1. 程式人生 > >PL/SQL 上機練習(二)

PL/SQL 上機練習(二)

tinc ace end from func fun gin spa PE

函數:
1.

函數查看字符串中共包含幾個某特殊字符,如‘A**B*CEDF‘中包含幾個‘*’

2.
函數把員工表中不同的工作連接成一個字符串

3.
函數計算個人所得稅,工資,薪金所得減3500,
含稅級距 稅率(%) 速除數
不超過1500 3 0
超過1500到4500 10 105
超過4500 到9000 20 555
超過9000 到35000 25 1005

--1
create or replace function special_char   
    (c  in varchar2,v in varchar2)    
    return  number
is  
    s_num  number;  
begin
     
     s_num:=length(c)-length(replace(c,v,‘‘));
    return(s_num);  
end;  

declare 
num number;
begin 
num := special_char(AA****AA,*); 
dbms_output.put_line(num);
end; --2 create or replace function all_work return varchar2 is wname varchar2(100) ; begin select wm_concat(job) into wname from (select distinct job from emp); return(wname); end all_work; declare wname varchar(100); begin wname:=all_work(); dbms_output.put_line(wname); end; --3 create
or replace function tax(p_empno in emp.empno%type) return number is t number ; begin select sal+nvl(comm,0)-3500 into t from emp where empno = p_empno; if t<0 then t:=0; ELSIF t<1500 THEN t:=t*0.03; ELSIF t<4500 THEN t:=t*0.1-105; ELSIF t<9000 THEN t:=t*0.2-555; ELSIF t<35000 THEN t:=t*0.25-1005; end if; return(t); end tax; declare t number; begin t:=tax(7839); dbms_output.put_line(t); end;

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

PL/SQL 上機練習(二)