例如,我有一个表(Table1),它有From Date、To Date和Duration列。起始日期:2019年5月1日截止日期:空持续时间:12个月
现在,我想根据另一个表(表2)中的date来计算From和to日期。
如果表2日期为"2020年7月1日",则起始日期应为2020年5月1日,截止日期应为"2021年4月30日",因为"2020年1月7日"在表1 的起始日期(2019年5月5日+12个月期限)之后
如果表2日期为"2021年7月1日",则起始日期应为2021年5月1日,截止日期应为"2022年4月30日",因为"2021年1月7日"在表1 的起始日期(2020年5月5日+12个月期限)之后
等等…
那么我如何在SQL Server中实现这一点呢。
似乎您只想使用一点DATEFROMPARTS
:
SELECT DATEFROMPARTS(YEAR(@YourDate),5,1) AS FromDate,
DATEFROMPARTS(YEAR(@YourDate)+1,4,30) AS ToDate;
虽然这并不能满足这个要求,但它没有多大意义:
起始日期:2019年5月1日截止日期:空持续时间:12个月
到NULL
的任何日期都没有";持续时间";由于NULL
是未知值,因此它具有未知的持续时间。因此,我假设您希望其他2个示例使用相同的逻辑,并且实际间隔为12个月。