我有一个 FirstRentPaymentDate 日期字段和一个具有四个可能值(周、两周、月、年)的 RentFrequency 字段。
日期字段上的时间无关紧要,但都设置为 12:00:00。
使用 SQL 查询,如果频率的 FirstRentPaymentDate 等于今天,我该如何计算?
我有一个 FirstRentPaymentDate 日期字段和一个具有四个可能值(周、两周、月、年)的 RentFrequency 字段。
日期字段上的时间无关紧要,但都设置为 12:00:00。
使用 SQL 查询,如果频率的 FirstRentPaymentDate 等于今天,我该如何计算?
一种不需要最后付款日期的方法:
select
firstdate
,frequency
from sampledata
WHERE
CASE WHEN frequency = 'week' THEN DATEDIFF(DD,firstdate,getdate()) % 7
WHEN frequency = 'fortnight' THEN DATEDIFF(DD,firstdate,getdate()) % 14
WHEN frequency = 'month' AND Day(firstdate) = Day(getdate()) THEN 0
WHEN frequency = 'year' AND Day(firstdate) = Day(getdate())
AND Month(firstdate) = Month(getdate()) THEN 0
END = 0