我正在尝试创建一个变量,该变量在每个客户首次购买后的3个月内累计销售额。下面的代码出错并说我错过了括号。
sum(case
when merch.trans_dt between min(merch.trans_dt)
and add_date(min(merch.trans_dt), interval 3 month)
then merch.rdswrit_rps_netnet_pur_amt
end) as spend_next3
答案 0 :(得分:1)
您可以通过简单地使用加法而不是函数来完成此操作:min(merch.trans_dt) + interval 3 month
。
但是,这可能无法为您提供所需的答案。在许多情况下,例如to_date('1/31/2015','mm/dd/yyyy') + interval '3' month
,这会产生ORA-01839: date not valid for month specified
。
如前所述,您最好使用add_months
:add_months(min(merch.trans_dt),3)
。