oracle怎么写IF语句?

举例比如说,如果项目abc对应有很多值,只要里面有一个值等于50,则输出A。
否则输出B
结果输出abc和结果A或者B
表V的abc列对应的d列有“很多”值

oracle的if语句采用decode函数

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else

示例:

比如,有个if语句如下
if(a==1){//如果a等于1,返回2,否则返回3
   return 2;
}else{
   return 3;
}
翻译成DECODE如下
DECODE(a,1,2,3)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-09-28
如果是 SQL 语句里面使用。

使用 DECODE 或者 CASE WHEN

DECODE 的用法就是
DECODE(abc, 50, 'A', 'B')

CASE WHEN 的用法就是
CASE WHEN abc=50 THEN 'A' ELSE 'B' END

如果是在里面的话,就是简单的 IF/ELSE 了

SQL 语句的话,就是

SELECT
abc, DECODE(abc, 50, 'A', 'B')
FROM
本回答被网友采纳
第2个回答  推荐于2017-09-26
这才是你想要得结果。
SELECT abc,
'A'
FROM table_name
WHERE abc LIKE '%50%'
UNION ALL
SELECT abc,
'B'
FROM table_name
WHERE abc NOT LIKE '%50%' ;本回答被提问者采纳
第3个回答  2010-12-07
set serveroutput on;
.IF abc=50 THEN
DBMS_OUTPUT.PUT_LINE('A');
.ELSE
DBMS_OUTPUT.PUT_LINE('B');
.END IF本回答被网友采纳
第4个回答  2010-12-07
begin
for v in (select abc from table where....) loop -- 求出你所需要的值放在游标里
if v.abc = 50 then
dbms_output.put_line('A');
elsif
dbms_output.put_line('B');
end if;
dbms_output.put_line(v.abc);
end loop;
end;

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网