?? decode_求所得稅.txt
字號:
--------------------------------------------------------------------
--最高稅率:<1000, 稅率 0。1000--2000 稅率 0.1。2000--3000 稅率 0.2,3000--4000 0.31
--4000以上0.5
insert into sm_emp values('aa1','aa1',null,'12');
insert into sm_emp values('aa3','aa3',3001,'12');
insert into sm_emp values('aa4','aa4',4001,'12');
insert into sm_emp values('aa5','aa5',5001,'12');
--求sm_emp表中雇員的所得稅
select name "姓名", salary "薪金",
decode( trunc(salary/1000, 0), 0, 0.0,
1, (salary-1000)*0.1,
2, (salary-2000)*0.2 +1000*0.1,
3, (salary-3000)*0.31+1000*0.2+1000*0.1,
(salary-4000)*0.5+1000*0.31+1000*0.2+1000*0.1) "所得稅"
from sm_emp;
--------------------------------------------------------------------------
select name "姓名", salary "薪金",
decode( trunc(nvl(salary,0)/1000, 0), 0, 0.0,
1, (salary-1000)*0.1,
2, (salary-2000)*0.2 +1000*0.1,
3, (salary-3000)*0.31+1000*0.2+1000*0.1,
(salary-4000)*0.5+1000*0.31+1000*0.2+1000*0.1) "所得稅"
from sm_emp;
--建立sm_emp_tax1代替sm_emp
create table sm_emp_tax1
(EmpID char(10) ,
Name varchar2(10),
salary number(8,2),
TelNo char(8),
tax number(8,2));
--為sm_emp_tax1插入相同數據
insert into sm_emp_tax1 (empid,name,salary,telno) select * from sm_emp;
--更新sm_emp_tax1 的tax字段
update sm_emp_tax1 set tax=decode( trunc(nvl(salary,0)/1000, 0), 0, 0.0,
1, (salary-1000)*0.1,
2, (salary-2000)*0.2 +1000*0.1,
3, (salary-3000)*0.31+1000*0.2+1000*0.1,
(salary-4000)*0.5+1000*0.31+1000*0.2+1000*0.1);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -