如何在计算中使用case语句的结果

时间:2012-07-04 03:18:26

标签: case

我有一个返回日期的案例陈述;

case when (ma.first_active_date is not null or ma.first_deemed_date is not null)
             then (least(nvl(ma.first_active_date,sysdate),nvl(ma.first_deemed_date,sysdate)))
             else (ma.status_date) end djf

如何计算返回日期和sysdate之间的年数?

1 个答案:

答案 0 :(得分:0)

您应该能够简单地将case语句插入到表达式中,当然不包含djf别名:

((case when (ma.first_active_date is not null or ma.first_deemed_date is not null)
             then (least(nvl(ma.first_active_date,sysdate),nvl(ma.first_deemed_date,sysdate)))
             else (ma.status_date) end) - sysdate) diff_from_sysdate