根据多个时间条件创建列

Create Column based on multiple time conditions

我有一个 table(作为查询的一部分重新创建),其中包含以下列:

ID、期间(整数形式的月数)、付款日期、购买日期。

我想在此过程中创建第 5 列:新建

计算结果为:

如果付款日期在购买日期的 X 个月内(​​其中 X 是月数),则 1.

我确定这将是 case 表达式 - 但我不确定如何在 case 表达式中进行计算部分。

您只想要一个 case 表达式吗?像这样:

select t.*,
       (case when purchasedate >= paymentdate and
                  purchasedate < dateadd(month, X, paymentdate)
             then 1 else 0
        end)
from t;