首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle SQL中的if-else if-else‘条件’

oracle SQL中的if-else if-else‘条件’
EN

Stack Overflow用户
提问于 2013-02-22 18:48:13
回答 3查看 92.9K关注 0票数 7

我想知道是否有可能实现像这样的事情

‘if-else if-else’条件,我知道有一个'case-when-then-else‘条件,但它一次只检查一个条件(如果我理解正确的话)。如何在Oracle sql中实现if-else if-else场景

EN

回答 3

Stack Overflow用户

发布于 2013-02-22 18:52:26

您可以像这样使用if/else使用case语句。

代码语言:javascript
复制
SELECT ename, CASE WHEN sal = 1000 THEN 'Minimum wage'
                   WHEN sal > 1000 THEN 'Over paid'
                   ELSE 'Under paid'
              END AS "Salary Status"
FROM   emp;
票数 20
EN

Stack Overflow用户

发布于 2013-02-22 18:53:56

我知道有一个'case-when-then-else‘,但它一次只检查一个条件

您所描述的是一个简单的案例。甲骨文有两种案例类型:简单案例和搜索案例(有关更多信息,请参阅http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm)

简单

代码语言:javascript
复制
case A
  when 1 then 'foo'
  when 2 then 'bar'
  else ..
end

已搜索

代码语言:javascript
复制
case
  when A=1 and B='A' then 'foo'
  when D + C =1 and B !='A' then 'Bar'
  else ..
end

您可能希望使用搜索到的案例。您可以在PL/SQL或SQL中使用它们。例如在SQL中

代码语言:javascript
复制
select ..
  from table
 where case
         when A=1 and B='A' then 'foo'
         when D + C =1 and B !='A' then 'Bar'
         else ..
       end = 'foo'
票数 1
EN

Stack Overflow用户

发布于 2013-02-22 18:51:47

注意“在Oracle中解码”

代码语言:javascript
复制
decode( expression , search , result [, search , result]... [, default] )

它类似于“if-else if-else”

参考:http://www.techonthenet.com/oracle/functions/decode.php

注意:它只做相等性检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15022392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档