首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle SQL增加字段值

问oracle SQL增加字段值
EN

Stack Overflow用户
提问于 2015-10-31 07:42:29
回答 2查看 98关注 0票数 0

你好,我在SQL oracle中有一个简单的问题。这就是我需要将员工的薪资增加7% ( IT部门),12% (业务部门),5% (其他部门)。最后,将修改后的薪资()显示为小数点后两位(),如下所示:

代码语言:javascript
复制
employeeID      Dept       Salary
emp1             IT         2000
emp2             BS         3000  
emp3             MK         4000
emp4             EG         5000

注: BS =营业部,MK =标记部,EG =工程部

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-31 07:52:29

您可以在CASE UPDATE语句中使用表达式。它比解码更冗长,更易于解释。

例如,

To display:

代码语言:javascript
复制
SELECT employeeID,
       Dept,
       Salary,
       CASE
          WHEN dept = 'IT' THEN
             salary + (7/100) * salary
          WHEN dept = 'BS' THEN
             salary + (12/100) * salary
          ELSE 
             salary + (5/100) * salary    
       END as "New_Salary"
FROM employees;

更新:

代码语言:javascript
复制
UPDATE employees
SET salary=  CASE
                WHEN dept = 'IT' THEN
                   salary + (7/100) * salary
                WHEN dept = 'BS' THEN
                   salary + (12/100) * salary
                ELSE 
                   salary + (5/100) * salary    
              END;
票数 1
EN

Stack Overflow用户

发布于 2015-10-31 07:54:36

使用解码功能:

代码语言:javascript
复制
UPDATE employee
      SET salary = salary*decode (dept,
         'IT', 1.07,
         'BS', 1.12,
         ...,
         1.05)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33449272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档