SQL助力计算土地出让金滞纳金

09.10.2014  18:40
  • 土地出让金滞纳金计算涉及到地块号、竞得人、违约金额、违约时间、违约比例等,面对庞大的业务数据,采用传统的方法计算费时费力且易出现误差,而采用计算机辅助计算能够迅速、准确计算出应缴滞纳金数额,提高了工作效率。以下是具体的思路和方法。

    一、整理数据表保留地块号、竞得人、每次缴款金额、每次缴款日期、违约比例等字段。

    二、整理好的数据表导入SQL2008数据库中,利用SQL语句进行计算。(一)合同约定一次性缴纳出让金,一次缴清出让金计算滞纳金情况.

    1、生成违约表.语句为:select  地块号,竞得人,  第一次缴款金额  违约金额,datediff( DAY,合同约定付款截止日,  第一次缴款日期)  违约天数    into  违约表  from    dbo.滞纳金  where      成交价=第一次缴款金额  and    第一次缴款日期>合同约定付款截止日。

    2、生成应缴滞纳金表。语句为:select  地块号,竞得人,违约金额*b.违约天数*违约比例    应缴纳滞纳金    from  违约表。

    (二)合同约定一次性缴纳出让金,分次缴清出让金计算滞纳金情况。

    1、生成多次缴款表。语句为:select* into  多次缴款表  from dbo.滞纳金  where      成交价!=第一次缴款金额

    2、生成分次违约表。

    (1)生成第一次违约表.语句为:select  地块号,竞得人,  第一次缴款金额  第一次违约金额,datediff(day,合同约定付款截止日,第一次缴款日期)  第一次违约天数。

      into  第一次违约表  from  多次缴款表  where    第一次缴款日期>合同约定付款截止日(2)生成第二次违约表.语句为:select  地块号,竞得人,  第二次缴款金额  第二次违约金额  ,datediff(day,合同约定付款截止日,第二次缴款日期)  第二次违约天数into  第二次违约表  from  多次缴款表  where    第二次缴款日期>合同约定付款截止日。

    (3)生成第三次违约表.语句为:select  地块号,竞得人,  第三次缴款金额  第三次违约金额,datediff(day,合同约定付款截止日,第三次缴款日期)  第三次违约天数  into  第三次违约表  from多次缴款表  where    第三次缴款日期>合同约定付款截止日。

    ......依次类推生成多次违约表

    3、生成分次应缴滞纳金表

    (1)生成第一次应缴滞纳金表.语句为:select  地块号,竞得人,  第一次违约金额  违约金额  ,第一次违约天数  违约天数  ,第一次违约金额*第一次违约天数*违约比例  应缴滞纳金into  第一次应缴滞纳金表  from  第一次违约表。

    (2)生成第二次应缴滞纳金表.语句为:select  地块号,竞得人,  第二次违约金额  违约金额  ,第二次违约天数  违约天数  ,第二次违约金额*第二次违约天数*违约比例  应缴滞纳金  into  第二次应缴滞纳金表  from  第二次违约表。

    (3)生成第三次应缴滞纳金表.语句为:select  地块号,竞得人,  第三次违约金额  违约金额  ,第三次违约天数  违约天数  ,第三次违约金额*第三次违约天数*违约比例  应缴滞纳金  into  第三次应缴滞纳金表  from  第三次违约表

    ......依次类推生成多次语句滞纳金表.

    3.生成合并应缴滞纳金表.语句为:select*into  合并应缴滞纳金表  from    dbo.第一次应缴滞纳金表  union select*from    dbo.第二次应缴滞纳金表  union select*from    dbo.第三次应缴滞纳金表

    (二)生成应缴滞纳金表.语句为:select    地块号,竞得人,SUM(应缴滞纳金)  应缴滞纳金合计  from合并应缴滞纳金表  group by  地块号,竞得人。