热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle/plsqlcase条件语句的用法

本文章要介绍关于oracleplsqlcase条件语句的用法,它和mysqlmssql都差不多,好了费话不说多了需要的学同可以看看吧。

本文章要介绍关于oracle/plsql case条件语句的用法,它和mysql mssql都差不多,好了费话不说多了需要的学同可以看看吧。

本文章要介绍关于oracle/plsql case条件语句的用法,它和mysql mssql都差不多,好了费话不说多了需要的学同可以看看吧。

语句语法

代码如下

CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END

expression 可选的。它的价值,你比较的条件清单。 (即:condition_1,condition_2,... condition_n)

condition_1到condition_n都必须是相同的数据类型。条件评估中列出的顺序。一个条件是一旦发现是真实的,case语句将返回的结果和不评价任何进一步的条件。

result_1到result_n都必须是相同的数据类型。这是返回的值一个条件是,一旦发现是真的。

注意:

如果没有条件为真,那么case语句将返回在ELSE子句里的值。

如果省略了ELSE子句和任何条件发现是真的,那么case语句将返回NULL。

最多可以有255在case语句比较。时,每个...条款被认为是2比较。


Applies To:

Oracle 9i, Oracle 10g, Oracle 11g


实例
你可以使用case语句在SQL语句如下:(包括表达式子句)

代码如下

table_name,
CASE owner
WHEN 'SYS' THEN 'The owner is SYS'
WHEN 'SYSTEM' THEN 'The owner is SYSTEM'
ELSE 'The owner is another value'
END
from all_tables;


或者你可以写SQL语句,使用这样的情况下声明:(省略了表达式子句)

代码如下

select table_name,
CASE
WHEN owner='SYS' THEN 'The owner is SYS'
WHEN owner='SYSTEM' THEN 'The owner is SYSTEM'
ELSE 'The owner is another value'
END
from all_tables;

上述两个案例语句以下的IF - THEN- ELSE语句是等价的:

代码如下

IF owner = 'SYS' THEN
result := 'The owner is SYS';

ELSIF owner = 'SYSTEM' THEN
result := 'The owner is SYSTEM'';

ELSE
result := 'The owner is another value';

END IF;

case语句会比较每一位业主的价值,一个接一个。

需要注意的一点是,在case语句的else子句是可选的的。你可以省略。让我们看看上面的SQL语句与ELSE子句省略。

您的SQL语句如下所示:

代码如下

select table_name,
CASE owner
WHEN 'SYS' THEN 'The owner is SYS'
WHEN 'SYSTEM' THEN 'The owner is SYSTEM'
END
from all_tables;

实例
下面就是一个例子,演示了如何使用case语句来比较不同条件下:

代码如下
select
CASE
WHEN a WHEN d END
from suppliers;

推荐阅读
author-avatar
被爱的小花花_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有