如果是 SQL 語句里面使用。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)普洱免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
使用 DECODE 或者 CASE WHEN
DECODE 的用法就是
DECODE(abc, 50, 'A', 'B')
CASE WHEN 的用法就是
CASE WHEN abc=50 THEN 'A' ELSE 'B' END
如果是在存儲(chǔ)過程里面的話,就是簡(jiǎn)單的 IF/ELSE 了
SQL 語句的話,就是
SELECT
abc, DECODE(abc, 50, 'A', 'B')
FROM
表
oracle的if語句采用decode函數(shù)。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1時(shí),DECODE函數(shù)的結(jié)果返回then1,...,如果不等于任何一個(gè)if值,則返回else。
Oracle數(shù)據(jù)庫是對(duì)標(biāo)準(zhǔn)sql語言的過程化擴(kuò)展,因此產(chǎn)生了pl/sql語言。其中的if語句大量使用使得程序模塊化的功能方便實(shí)用。現(xiàn)在要討論的是if語句的基本使用方法。
連接數(shù)據(jù)庫
請(qǐng)輸入用戶名: ?scott/123456
設(shè)置環(huán)境變量
SQL set serveroutput on
定義兩個(gè)字符串變量,然后賦值,接著使用if……then語句比較兩個(gè)字符串變量的長(zhǎng)度,并輸出比較結(jié)果。
declare
a varchar(10);
b varchar(10);
begin
a:='beijing';
b:='guangdong';
if length(a)length(b)
then dbms_output.put_line('ab');
end if;
end;
過if……then……else語句實(shí)現(xiàn)只有年齡大于等于56歲,才可以申請(qǐng)退休,否則程序會(huì)提示不可以申請(qǐng)退休。
declare
a number(10);
begin
a:=x;
if a=56
then dbms_output.put_line('可以申請(qǐng)退休');
else dbms_output.put_line('不可以申請(qǐng)退休');
end if;
end;
制定一個(gè)月份數(shù)值,然后使用if……then……elsif語句判斷它所屬的季節(jié),并輸出季節(jié)信息。
declare
mon number(10);
begin
mon:=x;
if mon=3 or mon=4 or mon=5
then dbms_output.put_line('春節(jié)');
elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季');
elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季');
elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季');
end if;
end;
制定一個(gè)季度數(shù)值,然后使用case語句判斷它所包含的月份信息并輸出。
declare
ss number(10);
begin
ss:=x;
case
when ss=1 then dbms_output.put_line('包含月份3,4,5');
when ss=2 then dbms_output.put_line('包含月份6,7,8');
when ss=3 then dbms_output.put_line('包含月份9,10,11');
when ss=4 then dbms_output.put_line('包含月份12,1,2');
end case;
end;
條件處理 IF…THEN,
ELSIF…THEN,
ELSE
ENDIF;
--------------------------------------------------------
IF…[BEGIN…END]
ELSE
[BEGIN…END]
ELSE IF
CASE expression
無條件結(jié)束 RETURN------------ RETURN
無條件結(jié)束當(dāng)前程序塊后面的語句 EXIT BREAK