我的付款计划根据“生效日期”为在特定日期运行的付款计划保留一行。
CREATE TABLE [dbo].[PaymentSchedule] (
[PaymentScheduleId] INT IDENTITY (1, 1) NOT NULL,
[EffectiveDate] DATE NOT NULL,
[EffectiveDays] INT NOT NULL,
CONSTRAINT [pk_PaymentSchedule] PRIMARY KEY CLUSTERED ([PaymentScheduleId] ASC)
);
因此,如果effectivedate
是 '01-JAN-2013',而 ' EffectiveDays
' 是 7,则在 1 月 1 日付款,然后每 7 天付款一次。因此,必须在 1 月 8 日付款。15日,必须付款..等等。
如果effectivedate
是 '01-JAN-2013',并且EffectiveDays
是 20,那么第一次付款是 1 月 1 日,下一个付款日是 1 月 21 日,之后的下一个付款日是 2013 年 2 月 9 日..等等等等
我想要做的是创建一个使用上表的函数,或者一个存储过程,它返回“下一个付款日期”,并采用 DATE 类型。那么,根据传入的日期,下一个付款日期是什么时候?还有,“今天是付款日期吗”。
这可以有效地完成吗?例如,在 7 年后,我能否判断某个日期是否为付款日?