Oracle case的实际用法总结

数据库 Oracle
我们今天主要向大家介绍的是Oracle case的实际用法,其中还包括对case的两种表达式的具体描述,以下就是正文的主要内容介绍。

以下的文章主要是介绍Oracle case的实际用法,我们大家都知道case表达式是可以在SQL中来实现if-then-else型的相关实际应用逻辑,而不一定非得使用PL/SQL。Oraclecase的工作方式与DECODE()类似,但应该使用case,因为它与ANSI兼容。

case有两种表达式:

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

语法:

 

  1. case search_expression  
  2. WHEN expression1 THEN result1  
  3. WHEN expression2 THEN result2  
  4. ...  
  5. WHEN expressionN THEN resultN  
  6. ELSE default_result  
  7. END  

 

例:

 

  1. select product_id,product_type_id,  
  2. case product_type_id  
  3. when 1 then 'Book'  
  4. when 2 then 'Video'  
  5. when 3 then 'DVD'  
  6. when 4 then 'CD'  
  7. else 'Magazine'  
  8. end  
  9. from products  

 

结果:

PRODUCT_ID PRODUCT_TYPE_ID OraclecasePROD

---------- --------------- --------

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.

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

语法:

 

  1. case  
  2. WHEN condition1 THEN result1  
  3. WHEN condistion2 THEN result2  
  4. ...  
  5. WHEN condistionN THEN resultN  
  6. ELSE default_result  
  7. END  

 

例:

 

  1. select product_id,product_type_id,  
  2. Oraclecase  
  3. when product_type_id=1 then 'Book'  
  4. when product_type_id=2 then 'Video'  
  5. when product_type_id=3 then 'DVD'  
  6. when product_type_id=4 then 'CD'  
  7. else 'Magazine'  
  8. end  
  9. from products  

 

结果与上相同.

【编辑推荐】

  1. Oracle 11g调用相关函数的5种方法
  2. 调用Oracle procedure在pl/sql中的操作
  3. Oracle树的存储过程的实际操作4步骤
  4. 查看Oracle系统中某用户已有权限的方案
  5. Oracle存储过程的实际用法解剖
责任编辑:佚名 来源: 互联网
相关推荐

2010-04-28 14:56:02

Oracle sqlp

2010-04-28 14:46:38

Oracle Copy

2010-05-04 12:10:08

Oracle over

2010-05-07 18:52:59

Oracle rown

2010-04-27 14:44:31

Oracle存储过程

2010-05-05 15:38:31

Oracle安全策略

2010-04-29 13:31:16

Oracle Orad

2010-04-06 08:58:27

Oracle job

2010-04-29 10:41:55

2011-03-16 09:42:27

Oracle临时表

2010-04-29 13:53:42

Oracle临时表

2011-04-12 11:32:31

Oraclerownum用法

2010-05-18 13:34:42

MySQL条件sele

2010-04-28 17:14:38

Oracle EXPL

2011-08-15 17:15:45

CASE语句Oracle给指定字段赋值

2010-11-18 13:09:19

Oracle case

2010-05-10 10:19:28

Oracle实战RMA

2010-05-31 14:16:01

MySQL数学函数

2011-03-07 13:27:13

SQLCase

2009-12-15 09:43:50

Ruby case w
点赞
收藏

51CTO技术栈公众号