【问题标题】:Split the service periods and cost monthly拆分服务期和每月费用
【发布时间】:2014-03-06 20:44:21
【问题描述】:

我将从数据库中提取包含服务期和每个服务期成本的数据表
前:

ServiceStart   ServiceEND   Cost   Days
1/1/2013     3/15/2013     60     74
3/3/2013     3/28/2013     30     26

我想拆分表格,以便根据月份中的天数划分成本
结果应如下所示:

  ServiceStart   ServiceEND   Cost
1/1/2013     1/31/2013     (30*60)/74
2/1/2013     2/28/2013     (28*60)/74
3/1/2013     3/31/2013     (15*60)/74 + 30(日期与月份重叠)

在 c# 编程或使用存储过程中是否有更好的方法来实现这一点。

【问题讨论】:

    标签: c# stored-procedures datatable


    【解决方案1】:

    您可以在选择数据时应用数学运算,例如:

    SELECT ServiceStart, ServiceEND,
    (DAY(EOMONTH(ServiceStart))*Cost)/Days as Cost
    FROM TableName;
    /* (DAY(EOMONTH(ServiceStart))*Cost) Represents the total days in the month */
    

    数字数据应该是整数等可行的数据类型。

    【讨论】:

    • 我将获得随机的服务天数以及与之相关的费用。日期可能会有所不同,可能是 3 个月 6 个月或每年的服务天数(如 2013 年 1 月 1 日至 2013 年 11 月 1 日)。我想将费用分成每月和剩余重叠服务期和费用的组。
    • 请查看我更新的代码,看看现在是否有帮助。
    • 如果我的服务期在最终结果中没有改变,您指定的逻辑对我有帮助。如果您检查我的最终结果 3/1/2013   3/31/2013  (15*60)/74 + 30 '15' 将不等于 Day(EOMONTH(servicestart)) 并且我的最终结果服务期与原始数据表服务期。如果不清楚,请告诉我。
    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多