CASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。
注意点: 1、以CASE开头,以END结尾 2、分支中WHEN后跟条件,THEN为显示结果 3、ELSE为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加 4、END后跟别名 CASE有两种表达式: 1.简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN ELSE default_result END 例: select product_id,product_type_id, case product_type_id when 1 then "Book" when 2 then "Video" when 3 then "DVD" when 4 then "CD" else "Magazine" end from products 结果: PRODUCT_ID PRODUCT_TYPE_ID CASEPROD ---------- --------------- -------- 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表达式,使用条件确定返回值. 语法: CASE WHEN condition1 THEN result1 WHEN condistion2 THEN result2 ... WHEN condistionN THEN resultN ELSE default_result END 例: select product_id,product_type_id, case when product_type_id=1 then "Book" when product_type_id=2 then "Video" when product_type_id=3 then "DVD" when product_type_id=4 then "CD" else "Magazine" end from products 结果与上相同.Oracle中最常用的函数Oracle中nvl()函数相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)