2

私のテーブル:

CREATE TABLE [dbo].[Balance] (
    [Id]             INT             IDENTITY (1, 1) NOT NULL,    
    [Balance]        DECIMAL (18, 2) NOT NULL,
    [Today_Date]     AS              (CONVERT([char](10),getdate(),(126))),
    [Date_end]       DATE            NOT NULL,
    [Remaining_Days] AS              (datediff(day,CONVERT([char](10),getdate(),(126)),[Date_end])),
    [In_Months]      AS              (datediff(day,CONVERT([char](10),getdate(),(126)),[Date_end]))/(30),
    [Amount_Monthly] AS              CAST((case when ((datediff(day,CONVERT([char](10),getdate(),(126)),[Date_end]))/30) = 0 then NULL else [Balance]/((datediff(day,CONVERT([char](10),getdate(),(126)),[Date_end]))/30) end) as DECIMAL(18,2)),
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

どのように見えるか:

私のデータ

Amount_Monthly を新しいテーブルに自動的に挿入したいので、次のようになります。

私の月表

たとえば、In_Months = 2 と表示されている場合、1 月と 2 月の Balance_monthly を 7058,82 に入力する必要があります。自動で計算してほしい入力に応じてremaining_daysを自動で計算するようにしました。

ありがとうございました!

4

4 に答える 4

0

ここで金額が正しく分割されていません。たとえば、今日の日付が 2015-12-16 で終了日が 2016-01-31 の場合、残高の残りの日数は 46 日になる可能性があります。ここでは、金額を 12 月、つまり現在の月に分割する必要があります。そして1月、誰でもそれを達成する方法を教えてもらえますか

于 2015-12-16T05:32:56.633 に答える
0

今日の日付 新しい終了日 残りの日数 毎日 2015-11 2015-12 2016-01 2016-02 2016-03 2016-04 2016-05 2016-06 2016-07 2016-08 2016-09 2016-10 2016-11 2016-12 2015/11/30 2015/12/31 2016/1/31 2016/2/28 2016/3/31 2016/4/30 2016/5/31 2016/6/30 2016/7/31 2016/8/31 2016 年 9 月 30 日 2016 年 10 月 31 日 2016 年 11 月 30 日 2016 年 12 月 31 日 2015 年 10 月 29 日 2016 年 1 月 4 日 67 $210.71 $6,321.33 $6,532.04 $842.84 $- $- $- $- $- $- $- $ - $- $- $-
10/29/2015 1/8/2016 71 $283.24 $8,497.16 $8,780.40 $2,265.91 $- $- $- $- $- $- $- $- $- $- $-

このようにする必要があります

于 2015-11-22T11:54:48.600 に答える