T-SQL 计算固定资产折旧(双倍余额法)

该博客介绍了如何利用CTE(公共表表达式)在T-SQL中实现固定资产的双倍余额法折旧计算,详细展示了从第1年到第24年逐年计算的折旧值和累计折旧情况。
摘要由CSDN通过智能技术生成

同样应用 CTE,计算固定资产折旧(双倍余额法)

 

DECLARE @Assets TABLE (NAME VARCHAR(20), PurchaseCost MONEY, Period INT)
DECLARE @DBFactor INT

SET @DBFactor = 2                 -- 双倍

INSERT INTO @Assets
 SELECT '计算机', 5000, 24


;WITH DBDepSched (AssetID, [Month], Period -- 固定资产
    ,DBDepAmt, DBBookValue, DBCumDep       -- 双倍余额法
    ) AS (
    SELECT NAME, 0, Period
        ,ROUND(2*PurchaseCost/Period, 2)     -- 双倍余额
        ,PurchaseCost, CAST(0 AS MONEY)
    FROM @Assets
    UNION ALL
    SELECT AssetID, NextMo, Period
        ,CASE WHEN [Month] = MidPeriod THEN ROUND(DBBookValue/MidPeriod, 2)
            WHEN NextMo    = Period    THEN DBBookValue
            WHEN [Month]   > MidPeriod THEN DBDepAmt
            WHEN YE        = 1         THEN ROUND(@DBFactor*DBBookValue/Period, 2)
            ELSE DBDepAmt END
        ,CASE WHEN [Month] = MidPeriod THEN DBBookValue - ROUND(DBBo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值