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
结果与上相同.
相关文章
标签:Oracle