1. 程式人生 > >Oracle中的條件分支語句

Oracle中的條件分支語句

CASE WHEN 語法

SELECT   grade, COUNT (CASE WHEN sex = 1 THEN 1      /*sex 1為男生,2位女生*/
                       ELSE NULL
                       END) 男生數,
                COUNT (CASE WHEN sex = 2 THEN 1
                       ELSE NULL
                       END) 女生數
    FROM students GROUP BY grade;

DECODE() 函式

關於IF-THEN-ELSE的其他實現

select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')
from   employees;

貌似只有Oracle提供該函式,而且不支援ANSI SQL,語法上也沒CASE WHEN清晰,個人不推薦使用。