【问题标题】:Missing right parenthesis while executing this query执行此查询时缺少右括号
【发布时间】:2021-10-14 18:49:27
【问题描述】:
Select a.*, 
when to_number(prem_term='annually')then to_number(prem_amt×1)
when to_number(prem_term='quaterly') then 
to_number(prem_amt×4)
when to_number(prem_term='semi annually') then 
to_number(prem_amt×2)Else end
From policy_holder a;

【问题讨论】:

    标签: oracle oracle11g oracle10g


    【解决方案1】:

    缺少CASE 和您希望在ELSE、多余且无效的TO_NUMBER 函数调用的情况下返回的值。也许你想要这样的东西:

    SELECT a.*,
           CASE
              WHEN prem_term = 'annually'      THEN prem_amt * 1
              WHEN prem_term = 'quaterly'      THEN prem_amt * 4
              WHEN prem_term = 'semi annually' THEN prem_amt * 2
              ELSE NULL
           END
      FROM policy_holder a;
    

    【讨论】:

    • 还有*,而不是x。
    • 哈!我想象它是不同的列名,而不是 multiplication 符号,@Alex。谢谢!
    • 在 sql 开发者软件中 * 用作星号和乘号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    相关资源
    最近更新 更多