oracle怎么写IF语句?
发布网友
发布时间:2022-04-22 20:43
我来回答
共8个回答
热心网友
时间:2022-04-08 12:21
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)
热心网友
时间:2022-04-08 13:39
如果是 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
表
热心网友
时间:2022-04-08 15:14
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;
热心网友
时间:2022-04-08 17:05
这才是你想要得结果。
SELECT abc,
'A'
FROM table_name
WHERE abc LIKE '%50%'
UNION ALL
SELECT abc,
'B'
FROM table_name
WHERE abc NOT LIKE '%50%' ;
热心网友
时间:2022-04-08 19:13
用decode,这个ORACLE内置函数就是ORACLE的IF
select abc,decode(abc,50,'A','B') from ** ;
热心网友
时间:2022-04-08 21:38
set serveroutput on;
.IF abc=50 THEN
DBMS_OUTPUT.PUT_LINE('A');
.ELSE
DBMS_OUTPUT.PUT_LINE('B');
.END IF
热心网友
时间:2022-04-09 00:19
1、SELECT DECODE(D,50,"A","B") FROM ABC;
2、SELECT CASE WHEN D=50 THEN "A" ELSE "B" END FROM ABC;
热心网友
时间:2022-04-09 03:17
IF 条件 THEN
程序体;
END IF;