oracle中if/else功能的实现的3种写法
发布时间:2020-12-12 13:58:53 所属栏目:百科 来源:网络整理
导读:1、标准sql规范 一、单个IF 1 、 if a= ... then.........end if ; 2 、 if a= ... then...... else ....end if ;二、多个IF if a=.. then......elsif a=.. then....end if ; 这里中间是“ELSIF”,而不是ELSE IF 。这里需要特别注意 2、decode函数 DECODE的
1、标准sql规范一、单个IF
1、
if a=... then
.........
end if;
2、
if a=... then
......
else
....
end if;
二、多个IF
if a=.. then
......
elsif a=.. then
....
end if;
这里中间是“ELSIF”,而不是ELSE IF 。这里需要特别注意
2、decode函数DECODE的语法: DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。 3、case whencase when a='1'then 'xxxx'
when a='2' then 'ssss'
else
'zzzzz'
end as
注意点: 1、以CASE开头,以END结尾 这是一个使用 CREATE OR replace FUNCTION Incomelevel (name_in IN VARCHAR2)
RETURN VARCHAR2
IS
monthly_value NUMBER(6);
ilevel VARCHAR2(20);
CURSOR c1 IS
SELECT monthly_income
FROM employees
WHERE name = name_in;
BEGIN
OPEN c1;
FETCH c1 INTO monthly_value;
CLOSE c1;
IF monthly_value <= 4000 THEN
ilevel := 'Low Income';
ELSIF monthly_value > 4000
AND monthly_value <= 7000 THEN --逻辑与
ilevel := 'Avg Income';
ELSIF monthly_value > 7000
AND monthly_value <= 15000 THEN
ilevel := 'Moderate Income';
ELSE
ilevel := 'High Income';
END IF;
RETURN ilevel;
END; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |