数据库计算问题

hybdsg123 2010-03-25 05:48:50
现在我有一个工资表,其中有基本工资,各种奖金,罚金,所得税,实发工资等
所得税的计算应该是基本工资加上奖金罚金啥的计算之后的一个结果A再依据所得税公式计算而得
实发工资应该是刚才算出来那个结果A再减去所得税的结果
有点麻烦,希望您能详细给我解答一下,谢谢了
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hybdsg123 2010-03-26
  • 打赏
  • 举报
回复
兄弟,十分感谢,但是我想你没明白我的意思,我再给你说一下我的问题,我的问题不是说计算所得税的公式有多么复杂,而是说我现在不知道数据库内的计算式怎么回事,这么说吧,我的工资表里面有补贴,奖金,罚金,基本工资,所得税等字段,还有一个字段是实发工资,我现在想知道怎么能让实发工资=基本工资+补贴+奖金-罚金-所得税,至于所得税计算的公式是次要的,只要能实现这么一个功能就行,你能明白我的意思吗?
dawugui 2010-03-26
  • 打赏
  • 举报
回复
用case when,大致写法参考如下:

create table 税率表 (
rank int ,
baseIncome numeric(18,2) ,
overmin numeric(18,2),
overmax numeric(18,2) ,
taxs numeric(18,6)
)

insert 税率表 select
1, 2000, 0 , 1000 , 0.05
union all select
2, 2000, 1000 , 3000 , 0.1
union all select
3, 2000, 3000 , 6000 , 0.15
union all select
4, 2000, 6000 , 10000 , 0.2
union all select
5, 2000, 10000, 15000 , 0.25

go

create proc pr_计算税金
@income numeric(18,2)
as

select sum(case when @income>baseIncome+overmax then overmax-overmin else @income-baseIncome-overmin end *taxs) as 税金
from 税率表
where baseIncome+overmin<=@income

go

exec pr_计算税金 2500
--25
exec pr_计算税金 3500
--100
exec pr_计算税金 9500
--1000

exec pr_计算税金 12000
--1500
hybdsg123 2010-03-26
  • 打赏
  • 举报
回复
我希望知道这些东西在数据库里面用代码怎么写?
dawugui 2010-03-25
  • 打赏
  • 举报
回复
这个详细点.

个人所得税算法(转)(2007-12-05 17:21:57)转载

个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。
一、有两种算法,一种是用“超率累进税率”直接计算的慢方法。

个人所得税税率表一(工资、薪金所得适用)
级数----------全月应纳税所得额----------税率(%)
1--------------不超过500元的-----------------5
2----------超过500元至2000元的部分----------10
3----------超过2000元至5000元的部分---------15
4----------超过5000元至20000元的部分--------20
5----------超过20000元至40000元的部分-------25
6----------超过40000元至60000元的部分-------30
7----------超过60000元至80000元的部分-------35
8----------超过80000元至100000元的部分------40
9----------超过100000元的部分---------------45
表中的应纳税所得额是指以每月收入额减除1600元后的余额。
计算为:2500-1600=900
应纳个人所得税额=500×5%+400×10% =65
为了让你更清楚,我们用一个大额工资计算,25000元
应纳税所得额=25000-1600=23400
应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475
二、用速算扣除数计算
工资、薪金所得项目税率表
级数---全月应纳税所得额-------------税率%--速算扣除法(元)
1-------不超过500元的-----------------5---------0
2------超过500元至2000元的部分-------10--------25
3------超过2000元至5000元的部分------15 ------125
4------超过5000元至20000元的部分-----20 ----- 375
5------超过20000元至40000元的部分----25------1375
6------超过40000元至60000元的部分----30------3375
7------超过60000元至80000元的部分----35------6375
8------超过80000元至100000元的部分---40-----10375
9------超过100000元的部分------------45-----15375
计算公式是:
应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数
收入是2500元时
应纳个人所得税税额=900×10%-25=65
收入是25000元时
应纳个人所得税税额=23400×25%-1375=4475
个人取得全年一次性奖金(包括年终加薪)的,应分两种情况计算缴纳个人所得税:(1)个人取得全年一次性奖金且获取奖金当月个人的工资、薪金所得高于(或等于)税法规定的费用扣除额的。计算方法是:用全年一次性奖金总额除以12个月,按其商数对照工资、薪金所得项目税率表,确定适用税率和对应的速算扣除数,计算缴纳个人所得税。
计算公式为:
应纳个人所得税税额=个人当月取得的全年一次性奖金×适用税率-速算扣除数个人当月工资、薪金所得与全年一次性奖金应分别计算缴纳个人所得税。
(2)个人取得全年一次性奖金且获取奖金当月个人的工资、薪金所得低于税法规定的费用扣除额的,计算方法是:用全年一次性奖金减去“个人当月工资、薪金所得与费用扣除额的差额”后的余额除以12个月,按其商数对照工资、薪金所得项目税率表,确定适用税率和对应的速算扣除数,计算缴纳个人所得税。计算公式为:
应纳个人所得税税额=(个人当月取得全年一次性奖金-个人当月工资、薪金所得与费用扣除额的差额)×适用税率-速算扣除数。
由于上述计算纳税方法是一种优惠办法,在一个纳税年度内,对每一个人,该计算纳税办法只允许采用一次。对于全年考核,分次发放奖金的,该办法也只能采用一次。


另:500以下也交税?奶奶的,太黑了.
dawugui 2010-03-25
  • 打赏
  • 举报
回复
应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数=(1850-1600)*5%=12.5
扣除标准1600元/月。
不超过500元的,税率5%,速算扣除数为0;
超过500元至2000元的部分,税率10%,速算扣除数为25
超过2000元至5000元的部分,税率15 %,速算扣除数为125
超过5000元至20000元的部分,税率20 %,速算扣除数为375
超过20000元至40000元的部分,税率25%,速算扣除数为1375
超过40000元至60000元的部分,税率30%,速算扣除数为3375
超过60000元至80000元的部分,税率35%,速算扣除数为6375
超过80000元至100000元的部分,税率40%,速算扣除数为10375
超过100000元的部分,税率45%,速算扣除数为15375

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧