oracle怎么写IF语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) 参考技术A 如果是 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
表 参考技术B 这才是你想要得结果。
SELECT abc,
'A'
FROM table_name
WHERE abc LIKE '%50%'
UNION ALL
SELECT abc,
'B'
FROM table_name
WHERE abc NOT LIKE '%50%' ;本回答被提问者采纳 参考技术C set serveroutput on;
.IF abc=50 THEN
DBMS_OUTPUT.PUT_LINE('A');
.ELSE
DBMS_OUTPUT.PUT_LINE('B');
.END IF 参考技术D 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;
oracle中的if || oracle中的loop循环怎么写? || while循环怎么写?
oracle中的if怎么写?
if--then--end if;
end if;很重要
oracle中的loop循环怎么写?
exit when 退出循环
v_num:=v_num+1;oracle中没有+=;赋值是这么赋值的:=
while循环怎么写?
以上是关于oracle怎么写IF语句?的主要内容,如果未能解决你的问题,请参考以下文章