今天没事看了下个人所得税的计算方法,目前的起征额为2000。基本算法为:
本次所得税 = (本月工资总额-公积金或社保缴纳额-缴税起征额)× 税率 – 速算扣除数。我们个人所得税率是按超额累进税率方法来计算。
http://114.xixik.com//table-of-rates/
根据上面个人所得税率表中的计算方法写的一个SQL。有点死板,以后慢慢改进
1 征税额
2 起征标准(目前为2000)
Note: 1必须是除去保险或公积金之后的金额,比如: 小王 月工资8500.社保缴纳1500 那1= 8500-1600后为实际的征税额
SELECT (CASE
WHEN a1 <= 500
THEN a1 * 0.05
WHEN a1 > 500 AND a1 <= 2000
THEN a1 * 0.1 - (500 * 0.05)
WHEN a1 > 2000 AND a1 <= 5000
THEN a1 * 0.15 - (1500 * 0.05 + 500 * 0.1)
WHEN a1 > 5000 AND a1 <= 20000
THEN a1 * 0.2 - (3000 * 0.05 + 1500 * 0.1 + 500 * 0.15)
WHEN a1 > 20000 AND a1 <= 40000
THEN a1 * 0.25 - (15000 * 0.05 + 3000 * 0.1 + 1500 * 0.1 + 500 * 0.2)
WHEN a1 > 40000 AND a1 <= 60000
THEN a1 * 0.3 - (20000 * 0.05 + 15000 * 0.1 + 3000 * 0.15 + 1500 * 0.2 + 500 * 0.25)
WHEN a1 > 60000 AND a1 <= 80000
THEN a1 * 0.35 - (20000 * 0.05 + 20000 * 0.1 + 15000 * 0.15 + 3000 * 0.2 + 1500 * 0.25 + 500 * 0.3)
WHEN a1 > 80000 AND a1 <= 100000
THEN a1 * 0.4 - (20000 * 0.05 + 20000 * 0.1 + 20000 * 0.15 + 15000 * 0.2 + 3000 * 0.25 + 1500 * 0.3 + 500 * 0.35)
WHEN a1 > 100000
THEN a1 * 0.45 - (20000 * 0.05 + 20000 * 0.1 + 20000 * 0.15 + 20000 * 0.2 + 15000 * 0.25 + 3000 * 0.3 + 1500 * 0.35 + 500 * 0.4)
ELSE 0
END) "Income tax for This Month"
FROM (
SELECT
(CASE
WHEN &&1 > &&2 THEN &&1 - &&2
ELSE 0
END) a1
FROM DUAL
)
/
写的不错,哈哈,博主文笔不错,做网站多久了?呵呵!!!!