56.Oracle数据库SQL开发之 高级查询——使用DECODE函数
2015-11-15 09:24
645 查看
56.Oracle数据库SQL开发之 高级查询——使用DECODE函数
欢迎转载,转载请标明出处: http://blog.csdn.net/notbaron/article/details/49847003
DECODE(value,search_value,result,default_value)对value与search_value进行比较。
DECODE允许在SQL中执行if-then-else类型的逻辑处理,而不需要使用PL/SQL。
DECODE是ORACLE以前所特有的一个函数,如果使用9i和更高版本的话,应该用CASE表达式来代替。
idle>select decode ( 1,1,2,3) from dual;
DECODE(1,1,2,3)
---------------
2
idle> select decode ( 1,2,1,3) from dual;
DECODE(1,2,1,3)
---------------
3
store@PDB1> selectprd_id,available,decode(available,'Y','Product is available','Product is notavailable') from more_products;
PRD_ID A DECODE(AVAILABLE,'Y','PR
---------- - ------------------------
1 Y Product is available
2 Y Product is available
3 N Product is not available
4 N Product is not available
5 Y Product is available
可以向DECODE传递多个搜索和结果参数,类似CASE
store@PDB1> selectproduct_id,product_type_id,decode(product_type_id,1,'Book',2,'Video',3,'DVD',4,'CD','Magazine') from products;
PRODUCT_IDPRODUCT_TYPE_ID DECODE(P
---------- --------------- --------
1 1 Book
2 1 Book
3 2 Video
4 2 Video
5 2 Video
6 2 Video
7 3 DVD
8 3 DVD
9 4 CD
10 4 CD
11 4 CD
12 Magazine
12 rows selected.
欢迎转载,转载请标明出处: http://blog.csdn.net/notbaron/article/details/49847003
DECODE(value,search_value,result,default_value)对value与search_value进行比较。
DECODE允许在SQL中执行if-then-else类型的逻辑处理,而不需要使用PL/SQL。
DECODE是ORACLE以前所特有的一个函数,如果使用9i和更高版本的话,应该用CASE表达式来代替。
idle>select decode ( 1,1,2,3) from dual;
DECODE(1,1,2,3)
---------------
2
idle> select decode ( 1,2,1,3) from dual;
DECODE(1,2,1,3)
---------------
3
store@PDB1> selectprd_id,available,decode(available,'Y','Product is available','Product is notavailable') from more_products;
PRD_ID A DECODE(AVAILABLE,'Y','PR
---------- - ------------------------
1 Y Product is available
2 Y Product is available
3 N Product is not available
4 N Product is not available
5 Y Product is available
可以向DECODE传递多个搜索和结果参数,类似CASE
store@PDB1> selectproduct_id,product_type_id,decode(product_type_id,1,'Book',2,'Video',3,'DVD',4,'CD','Magazine') from products;
PRODUCT_IDPRODUCT_TYPE_ID DECODE(P
---------- --------------- --------
1 1 Book
2 1 Book
3 2 Video
4 2 Video
5 2 Video
6 2 Video
7 3 DVD
8 3 DVD
9 4 CD
10 4 CD
11 4 CD
12 Magazine
12 rows selected.
相关文章推荐
- ORACLE11gR2完全卸载
- Oracle 内置视图
- Oracle误删数据、误修改数据恢复
- (5)Oracle基础--约束
- 20151114 shell脚本控制oracle随系统启动
- oracle学习方略
- oracle数据库中的锁简单的认识
- OracleApps 什么是Back to Back Order?
- oracle一视图性能问题
- oracle中的replace函数应用
- Oracle导入dmp备份文件到不同的表空间中
- Oracle导入dmp备份文件到不同的表空间中
- oracle建表实现序列ID自增
- oracle11g 查看空表及数据库导出报“ EXP-00003: 未找到段 (0,0)
- Linux安装oracle常用命令
- Oracle常见问题
- “ORA12560: TNS:协议适配器错误” 解决方法
- plsql+绿色版oracle连接远程数据库配置及提示缺少msvcr71.dll解决方法
- oracle命令
- oracle 11g RAC 的一些基本概念(一)