如何在oracle中使用case语句

时间:2017-11-08 16:00:39

标签: sql oracle

我正在为学生提供表格。我想给出成绩。我正在研究Oracle数据库。

如果标记大于60则为“A”,如果标记小于35则失败,如果标记大于40且小于50则为“C”,如果标记大于50且小于60则为“B” ”

2 个答案:

答案 0 :(得分:2)

SELECT id, name, last_name,
   ( CASE WHEN mark >= 60 THEN 'A'
          WHEN mark >= 50 THEN 'B'
          WHEN mark >= 40 THEN 'C'
          WHEN mark < 35 THEN 'F'
          ELSE '?'
          END ) grade
   FROM students;

顺便说一下,没有关于35&amp;之间标记的信息。 40,我也承担了平等。

答案 1 :(得分:1)

您的逻辑还需要弄清楚如何处理60,50等。目前您不在逻辑中包含这些内容。如果例如60以上是A,那么您需要marks >= 60

CASE 
  WHEN marks > 60 THEN 'A'
  WHEN marks > 50 and marks < 60 THEN 'B'
  WHEN marks > 40 and marks < 50 THEN 'C'
  WHEN marks < 35 THEN 'fail'
END