根据多个时间条件创建列
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;
我有一个 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;