Oracle-Sql 語句中 Case When 的應用

Oracle-Sql 語句中 Case When 的應用

// 如果column_4  = 'IT_PROG'   那麼    輸出 1.10 * column_3
// 如果column_4 = 'ST_CLERK' 那麼    輸出  1.15 * column_4
// 否則 輸出 column_3 使用別名 "REVISED_SALARY"
SELECT column_1,column_2,column_3
    CASE
column_4
        WHEN 'IT_PROG'    THEN 1.10*column_3
        WHEN 'ST_CLERK' THEN 1.15*column_3
        WHEN 'SA_REP'     THEN 1.20*column_3
    ELSE column_3 END "REVISED_SALARY"
FROM table_name;
// 
SELECT column_1,column_2,
    SUM(CASE WHEN  column_3 = '100' THEN column_4 ELSE 0 END) AS cost_100
FROM table_name
GROUP BY column_1,column_2;
// 如果 f_this_price = 0 或 f_last_price = 0 則結果爲 0 ,如果都不爲 0 時, 取兩列差的合計
SELECT f_wzbm,
    CASE WHEN SUM(f_this_price) = 0 OR SUM(f_last_price) = 0
        THEN 0
    ELSE SUM(f_this_price - f_last_price)
    END f_markup_price
FROM
table_name
GROUP BY f_wzbm;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章