日期:2014-05-17  浏览次数:20752 次

一个关于case的简单问题,大家帮帮忙
students表如下:

SQL>   select   *   from   students;

      ROLL_NO   NAME           CLASS                 SUBJECT1       SUBJECT2       SUBJECT3
-------   ---------   ----------   ----------   ----------   ----------
            1   张三                 0703                     99                   98                   95
            2   李四                 0703                     95                   90                   85
            3   王五                 0124                     100                 90                   70
            4   赵六                 0124                     85                   90                   80
            5   李小四             0703                     99                   92                   59
            6   赵小六             0124                     100                 89                   40


问题:
要求使用PL/SQL,根据学生得分显示成绩,如果得分> =85,则显示“优秀”,如果> =60,则显示“合格”,否则显示“不及格”。

------解决方案--------------------
declare
p_cursor sys_refcursor;
begin
open p_cursor for select
NAME,
case when SUBJECT1> =85 then '优秀 '
when SUBJECT1> =60 then '合格 '
else '不及格 ' end as col
from students;
end;