关闭

工资计算(用SQL来计算)

1323人阅读 评论(0) 收藏 举报
分类:

工资计算的公式是:

税金 = (工资 - 社保公积金 - 3500)*0.25 - 1005


税后 = 工资 - 社保公积金 - ((工资-社保公积金-3500)*0.25-1005) 
        = 工资 - 社保公积金 -  税金


这里的0.25,1005,是根据 工资 - 社保公积金 - 3500 之后得到的值,查询速扣表得到的,这里的3500是个税起征点。

比如,张三工资15000,扣除社保公积金之后,还有13000,然后13000-3500=9500,那么全月应纳税所得额,就是 9500,就是第4级,红圈的这个,税率是25%,速算扣除数就是1005。

那么最后要交的税就是:9500*0.25 - 1005= 1370


如下图



对应的sql代码:

declare @salary int,              --工资
        @social_security int,     --社保
		@accumulation_fund int,   --公积金
		@tax int ,                --交税额
		@after_tax int            --税后工资

select  @salary =15000,
        @social_security =1200,
		@accumulation_fund =800


select @tax = (@salary - @social_security - @accumulation_fund - 3500)*0.25-1005

select @after_tax = 
			   @salary  - @social_security -@accumulation_fund - 
			   ((@salary - @social_security - @accumulation_fund - 3500)*0.25-1005) 


select @tax as '应交个税',
       @after_tax '税后工资'

/*
应交个税	税后工资
1370	11630
*/

也就是说,张三工资15000,交了社保1200,公积金800,还的交1370的个税,最后到手是 11630,税率挺高的,比交的社保还高大笑,但是却没有什么相应的福利。

如果公司有其他的补贴,如:话费、交通费、餐费,实际收入还能再高一些。


0
0
查看评论

常用的数据统计Sql 总结

1. 统计各个条件下的数据 select BatchId,sum(CardSum) 总金额, sum(case when Status=1 then CardSum else 0 end) as 已使用, sum(case when Status=2 then CardSum else 0 end...
  • yin554393109
  • yin554393109
  • 2016-08-03 09:56
  • 3965

简化SQL式计算之行间计算

在数据库应用开发中,我们经常需要面对复杂的SQL式计算,行间计算就是其中一种,比如用每月的销售额除以上月的销售额,求比上期,或用每月销售额除以去年同月的销售额,求同期比。有些数据库没有提供SQL2003标准的窗口函数(或支持的不完备),完成行间计算就需要更换思路使用连接(join)运算替代,不仅难以...
  • u012388497
  • u012388497
  • 2015-09-01 08:11
  • 1069

一种SQL计算行间四则运算的办法

一种SQL计算行间四则运算的办法数据库的SQL语言只能计算行间的和,为了进行加减乘除四则运算,我们必须找到把其他运算转化为加法的办法。减法转化为加法的办法比较简单,只要先取要减的数的相反数,然后相加就可以了。乘法转化为加法我们要利用数学知识,假定a的常用对数是m,10的m次幂就等于a,用公式表示为:...
  • l1t
  • l1t
  • 2008-09-05 09:15
  • 10942

SQL动态计算出表中公式示例

原文:http://blog.csdn.net/htl258/article/details/5588454 需求贴:http://topic.csdn.net/u/20100513/16/8f29d352-d946-47e8-9d0c-0bc1c7e8db0a.html?013311098457...
  • chelen_jak
  • chelen_jak
  • 2012-06-22 11:24
  • 2343

SQL 计算

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计...
  • h_q_p
  • h_q_p
  • 2005-01-28 09:56
  • 765

Oracle SQL计算周

WITH x AS      (select TO_DATE('2015','YYYY') qry_year from dual),      x0 AS --查询年份的第一天,当年12月28号 ...
  • sky4160864
  • sky4160864
  • 2017-03-20 17:02
  • 316

python实现的个人税后工资计算器

正好处于找工作期间避免不了会跟单位谈论薪资的情况,当然所有人跟你谈的都是税前收入,税后应该实际收入有多少呢?今天就简单写一个个人税收收入计算器,仅仅是觉得很有意思而已,当然写的很简单,不同的单位五险一金的缴纳比例可能又是不一样的,可能还会有一些其他的薪资方面的限制,这里只是简单举例说明而已,具体的参...
  • Together_CZ
  • Together_CZ
  • 2017-10-17 11:35
  • 855

python练习-工资计算器

python练习-工资计算器 源代码如下: #! /usr/bin/env python def get_user_salary_sum(): salary = (raw_input("Please input your salary: ")) if len(...
  • halazi100
  • halazi100
  • 2016-06-18 02:00
  • 689

SQL的相关运算(集合运算)

1、字符串运算 对字符串进行的最通常的操作是使用操作符like的模式匹配,使用两个特殊的字符来描述模式:       百分号(%):匹配任意子串       下划...
  • asdfghjkl9996
  • asdfghjkl9996
  • 2018-01-31 20:51
  • 15

SQL数据库——计算列

一般在写SQL的时候应该避免在条件中使用函数,因为这样就不能有效的使用索引,从而无法生成高效的执行计划。 SQL Server提供了计算列可以帮助我们解决这个问题。 由于存储计算列需要额外的空间并且函数复杂的话需要CPU资源,所以大家在使用的时候需要先做测试。 接下来说一下什么...
  • Shiyaru1314
  • Shiyaru1314
  • 2015-05-26 11:47
  • 3182
    个人资料
    • 访问:526307次
    • 积分:9035
    • 等级:
    • 排名:第2474名
    • 原创:362篇
    • 转载:14篇
    • 译文:1篇
    • 评论:137条
    博客专栏
    最新评论