可用case when语句判断数字所处的范围。
如student表中有如下数据:
要求查出,每个人的分数档次,90-100分为优秀,80-89分为良好,60-79分为及格,60分以下为不及格。语句为:
select name,score,
case when score between 90 and 100 then '优秀'
when score between 80 and 89 then '良好'
when score between 60 and 79 then '及格'
when score <60 then '不及格' end 分数档次 from student;
执行结果为:
select 等级,分值 from (
select 等级,分值 from 表 where 分值<=传入的数字 order by 分值 desc) where rownum=1
--创建一个过程
CREATE OR REPLACE PROCEDURE get_grade(p_number NUMBER)
IS
BEGIN
IF p_number > 90 THEN
dbms_output.put_line('A');
ELSIF p_number > 80 AND p_number <= 90 THEN
dbms_output.put_line('B');
END IF;
END;
--测试
BEGIN
get_grade(82);
END ;
case when呀,行不