我有一个表“Emp”如下
我想添加另一列描述所有员工的等级
Sal > 100 是'G1',
Sal > 200 是'G2',
Sal > 300 是'G3',
全部休息为“NA”
我想使用“解码”命令来解决这个问题。请帮我处理 SQL 查询
我有一个表“Emp”如下
我想添加另一列描述所有员工的等级
Sal > 100 是'G1',
Sal > 200 是'G2',
Sal > 300 是'G3',
全部休息为“NA”
我想使用“解码”命令来解决这个问题。请帮我处理 SQL 查询
select
id,name,sal,
case when sal between 100 and 199 then 'G1'
when sal between 200 and 299 then 'G2'
when sal>=300 then 'G3'
else 'NA' end as grade
from Emp
感谢大家帮助我找到答案。
SELECT Name,
Sal,
DECODE (TRUNC ( (sal - 1) / 100),
0, 'NA',
1, 'G 1',
2, 'G 2',
3, 'G 3')
AS Grade
FROM Employee;
首先,您必须在表中添加列
Alter table Emp
Add Grade varchar(10)
比你必须更新你的新领域
update Emp Set Grade= 'G3' where Sal >= 300
update Emp Set Grade= 'G2' where Sal >= 200 and < 300
update Emp Set Grade = 'G1' where sal >= 100
update Emp Set Grade = 'NA' where sal < 100