oracle case when及decode的用法
2017-02-19 13:55
811 查看
case ... when 语句
1) CASE column_name WHEN value1 THEN resutl1,... [ ELSE result ] END
select name ,
case name when 'aaa' then '计算机部门'
when 'bbb' then '市场部门' ELSE '其他部门' END AS 部门
from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他部门
2) CASE
WHEN column_name=value1 THEN result1,...[ELSE result] END
eg. 1
select name ,
case when name ='aaa' then '计算机部门'
when name = 'bbb' then '市场部门' else '其他部门' END AS 部门
from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他部门
eg 2.
select salary,
case when salary > 5000 then '工资高'
when salary < 1000 then '工资低' end AS 工资水平
from users;
输出结果:
SALARY 工资水
---------- ------
800 工资低
1800.5
5000.5 工资高
1000
decode的作用和case的作用一样
decode(column_name, value1,result1,....defaultvalue)
eg.
SQL> select name,decode(name,'aaa','计算机部门','bbb','市场部门','其他') as 部门 from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他
aaa 计算机部门
1) CASE column_name WHEN value1 THEN resutl1,... [ ELSE result ] END
select name ,
case name when 'aaa' then '计算机部门'
when 'bbb' then '市场部门' ELSE '其他部门' END AS 部门
from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他部门
2) CASE
WHEN column_name=value1 THEN result1,...[ELSE result] END
eg. 1
select name ,
case when name ='aaa' then '计算机部门'
when name = 'bbb' then '市场部门' else '其他部门' END AS 部门
from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他部门
eg 2.
select salary,
case when salary > 5000 then '工资高'
when salary < 1000 then '工资低' end AS 工资水平
from users;
输出结果:
SALARY 工资水
---------- ------
800 工资低
1800.5
5000.5 工资高
1000
decode的作用和case的作用一样
decode(column_name, value1,result1,....defaultvalue)
eg.
SQL> select name,decode(name,'aaa','计算机部门','bbb','市场部门','其他') as 部门 from users;
输出结果:
姓名 部门
---------- ----------
aaa 计算机部门
bbb 市场部门
ccc 其他
aaa 计算机部门
相关文章推荐
- Mysql中ifNull()/if()/case when用法和Oracle中nvl()/nvl2()/decode()的用法
- 关于oracle中查询语句 decode和 case when 的用法
- ORACLE 中 DECODE 与 CASE WHEN THEN 用法
- Mysql中ifNull()/if()/case when用法和Oracle中nvl()/nvl2()/decode()的用法及其比较
- Oracle中case when和decode的用法
- oracle Case when 的用法 (转)
- ORACLE CASE WHEN的用法与实现
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
- Oracle CASE WHEN 用法介绍
- Oracle 行转列总结 Case When,Decode,PIVOT 三种方式
- oracle里面如何写case语句及decode and sign 函数用法
- oracle函数之case和decode的用法区别及性能比较
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
- ORACLE CASE WHEN 的用法
- Oracle CASE WHEN 用法介绍
- Oracle decode case when 行转列 分组查询
- Oracle CASE WHEN 用法介绍
- oracle case when 用法
- oracle case when的用法 【转载】
- oracle case when else 语法和用法