oracle中case
时间: 2023-11-02 09:00:36 浏览: 99
在Oracle中,CASE语句用于根据不同的条件返回不同的结果。它的基本语法是:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
在这个语法中,可以根据需要添加任意多个WHEN条件。每个条件后面跟着一个THEN关键字和一个结果。如果所有条件都不满足,ELSE关键字后面的结果将被返回。
CASE语句可以在SELECT语句中使用,作为一个表达式的一部分。你可以使用它来进行计算、取别名、嵌套等操作。以下是一个例子:
SELECT cust_last_name,
CASE credit_limit
WHEN 100 THEN 'low'
WHEN 5000 THEN 'high'
ELSE 'medium'
END
FROM customers;
在这个例子中,根据credit_limit的值,CASE语句将返回不同的结果。如果credit_limit等于100,结果将为'low';如果等于5000,结果将为'high';否则,结果将为'medium'。
请注意,当使用CASE语句时,如果没有一个条件匹配,它将返回NULL作为默认值,除非在语句的末尾定义了ELSE子句。在Oracle PL/SQL中,如果没有提供ELSE子句,CASE语句将抛出一个CASE_NOT_FOUND异常。
这就是在Oracle中使用CASE语句的基本概念和用法。通过灵活运用CASE语句,你可以根据不同的条件返回不同的结果,从而满足各种复杂的查询需求。
阅读全文