语句语法
代码如下 | 复制代码 |
CASE [ expression ] |
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语句如下:(包括表达式子句)
代码如下 | 复制代码 |
select table_name, |
或者你可以写SQL语句,使用这样的情况下声明:(省略了表达式子句)
代码如下 | 复制代码 |
select table_name, |
上述两个案例语句以下的IF - THEN- ELSE语句是等价的:
代码如下 | 复制代码 |
IF owner = 'SYS' THEN ELSIF owner = 'SYSTEM' THEN ELSE END IF; |
case语句会比较每一位业主的价值,一个接一个。
需要注意的一点是,在case语句的else子句是可选的的。你可以省略。让我们看看上面的SQL语句与ELSE子句省略。
您的SQL语句如下所示:
代码如下 | 复制代码 |
select table_name, |
实例
下面就是一个例子,演示了如何使用case语句来比较不同条件下:
代码如下 | 复制代码 |
select CASE WHEN a < b THEN 'hello' WHEN d < e THEN 'goodbye' END from suppliers; |