任务
打印所有员工编号、姓名和薪资。薪资还根据以下标准打印类别:如果薪资低于900,则为低薪;如果薪资小于1500,则为中等薪资;如果薪资大于1500,则打印较高的类别。
尝试查询
select ename ,sal , decode ( sign (sal - 900) , -1 , 'Low' ,
1 ,'Medium' ) from emp;我的课程老师告诉我们用解码函数写一个查询。
Q )如何使用解码函数来实现这一点
发布于 2016-04-14 07:28:41
使用CASE WHEN
SELECT empno, ename, sal,
CASE WHEN sal < 900 THEN 'LOW'
WHEN sal < 1500 THEN 'MEDIUM'
ELSE 'HIGH'
END AS category
FROM emp 发布于 2016-04-14 11:21:41
通过使用解码函数。
select ename ,sal , decode ( sign (round((sal - 900)/600 - 0.5 )) , -1 , 'Low' ,
1 ,'High' , 0 , 'Medium' ) as "Salary Status" from emp;https://stackoverflow.com/questions/36616283
复制相似问题