首页 > 解决方案 > 根据多个时间条件创建列

问题描述

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

ID、期间(以整数表示的月数)、付款日期、购买日期。

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

计算将是:

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

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

标签: sql-servertsqlcase

解决方案


你只是想要一个case表情?像这样的东西:

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

推荐阅读