Oracle中条件表达式

    xiaoxiao2023-11-09  142

    mysql和Oracle都可以用

    --条件表达式 --给EMP表中的员工起中文名字 select e.ename, case e.ename when 'SMITH' then '曹贼' when 'ALLEN' then '大耳贼' when 'WARD' then '诸葛小儿' else '无名' end from emp e;

    else可以省略,不加else条件时:

    select e.ename, case e.ename when 'SMITH' then '曹贼' when 'ALLEN' then '大耳贼' when 'WARD' then '诸葛小儿' end from emp e;

    其他都为null

    --判断如果EMP表中员工工资高于3000显示高收入,低于3000但高于1500中等收入 --低于1500低收入 select e.sal, case when e.sal>3000 then '高收入' when e.sal>1500 then '中等收入' else '低收入' end from emp e;

    Oracle专用

    --oracle专用条件表达式 select e.ename, decode(e.ename, 'SMITH', '曹贼', 'ALLEN', '大耳贼', 'WARD', '诸葛小儿', '无名') from emp e;

    --oracle中除了起别名都用单引号 --oracle专用条件表达式 select e.ename, decode(e.ename, 'SMITH', '曹贼', 'ALLEN', '大耳贼', 'WARD', '诸葛小儿', '无名')"别名" from emp e;

    别名也可以不加双引号

    最新回复(0)