我有下表:如果需要,我还有一个日历表。
ID Start_dt End_dt
1 1/9/2016 3/10/2016
预期产出:
ID Start_dt End_dt Month ActiveCustomerPerMonth
1 1/9/16 3/10/2016 201601 1
1 1/9/16 3/10/2016 201602 1
1 1/9/16 3/10/2016 201603 0 (Not Active end of Month)
我需要这个,因为我正在处理一个当前查询,该查询将使用case语句来计算该客户当月是否处于活动状态。如果该成员在该月的最后一天处于活动状态,则该成员将在该月被认为是活动的。但我需要能够为该客户计算几个月。
CASE
WHEN LAST_DAY(x.END_DT) = x.END_DT
THEN '1'
WHEN TO_CHAR(X.END_DT,'MM/DD/YYYY') != '01/01/3000'
OR X.DISCHARGE_REASON IS NOT NULL
THEN '0'
WHEN X.FIRST_ASSGN_DT IS NULL
THEN '0'
ELSE '1'
END ActiveMemberForMonth
我是Oracle新手并且正在阅读有关connect by但不了解该过程的信息,并且不确定这是否适合使用。
答案 0 :(得分:1)
像这样的东西。
passw%40rd