簡體   English   中英

如何在oracle中使用case語句

[英]how to use case statement in oracle

我有學生表。我想給成績。我正在研究Oracle數據庫。

如果標記大於60,則為“ A”;如果標記小於35,則失敗;如果標記大於40且小於50,則為“ C”;如果標記大於50且小於60,則為“ B”。

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到40之間的分數的信息,我也假設相等。

您的邏輯還需要弄清楚如何處理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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM