1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle case的2中常用表达式

2022-11-23 | 数据库 | admin | 546°c
A+ A-

Oracle case用法,我们大家都知道Oracle CASE表达式能在SQL里,可以实现if-then-else型的相关逻辑,不一定非得使用PL/SQL。其实CASE的相关工作方式和DECODE()类似,但应该使用CASE,因为它与ANSI兼容。

CASE有两种表达式:

1. 简单CASE表达式,使用表达式确定返回值.

语法:

CASEsearch_expression 
WHENexpression1THENresult1 
WHENexpression2THENresult2 
... 
WHENexpressionNTHENresultN 
ELSEdefault_result 
END 

例:

selectproduct_id,product_type_id, 
caseproduct_type_id 
when1then'Book' 
when2then'Video' 
when3then'DVD' 
when4then'CD' 
else'Magazine' 
end 
fromproducts 

结果:

PRODUCT_IDPRODUCT_TYPE_IDOracleCASEPROD 
--------------------------------- 
1Book 
1Book 
2Video 
2Video 
2Video 
2Video 
3DVD 
3DVD 
4CD 
4CD 
4CD 
Magazine 
rowsselected. 

2. 搜索Oracle CASE表达式,使用条件确定返回值.

语法:

CASE 
WHENcondition1THENresult1 
WHENcondistion2THENresult2 
... 
WHENcondistionNTHENresultN 
ELSEdefault_result 
END 

例:

selectproduct_id,product_type_id, 
case 
whenproduct_type_id=1then'Book' 
whenproduct_type_id=2then'Video' 
whenproduct_type_id=3then'DVD' 
whenproduct_type_id=4then'CD' 
else'Magazine' 
end 
fromproducts 

结果与上相同.

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11193.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。