您的位置:首页 > 数据库 > Oracle

Oracle-Sql 语句中 Case When 的应用

2015-01-06 21:00 330 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: