如何在 sql 的 case 语句中执行计算并将其显示为带有其他值的注释?

how can you perform calculation in case statement of sql and display it as comment with other values?

table给定叫LEAVE LEAVE 有 2 列 Leavetype,类型为 varchar 类型,allocated_days 为 number 类型。

离开:

休假类型allocated_days 生病 5 婚姻 10 事故 20 产妇 90

公司更新了它的政策,现在变化是

离开:

leavetype             allocated_days
     sick                   add  5 days
     marriage               add  5 days
     accident               substract 5 days
     maternity              multiply with 2

在 sql 案例的帮助下产生这个输出

离开:

leavetype             allocated_days    revised policy
     sick                   5              10
     marriage               10             15
     accident               20             15
     maternity              90             180

我试过的代码是:

select leavetype,allocated_days
 case 
    when leavetype='sick' then  (allocated_days+5)
    when leavetype='marriage' then (allocated_days+5)
    when leavetype='accident' then (allocated_days-5)
    when leavetype='maternity' then (allocatef_days*2)
 else allocated_days
end "revised policy" from leave;

错误说:

from keyword not properly placed

我是一个学习有志者,我找不到任何相关资源可以参考和学习,请帮助

缺少逗号,但您也可以稍微简化您的查询:

select leavetype,allocated_days,
 case 
    when leavetype in ('sick','marriage') then (allocated_days+5)    
    when leavetype='accident' then (allocated_days-5)
    when leavetype='maternity' then (allocated_days*2)
 else allocated_days
end "revised policy" from leave;