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.
本文详细介绍了Oracle数据库中的DECODE函数,演示了如何在SQL查询中使用该函数实现条件判断逻辑,提供了多个示例说明其用法,并对比了与CASE表达式的区别。

773

被折叠的 条评论
为什么被折叠?



