oracle case 語句使用 基本

2021-08-04 02:11:37 字數 2005 閱讀 6526

ase 語句帶有選擇效果知返回第乙個條件滿足要求的語句,即語句一語句二都的判斷都為 true ,返回排在前面的。

case 的語法根據放置的位置不同而不同。

一.case 語句

case

selector

when expression_1 then

statement_1;

[when expression_2 then statement_2;][

...]

[else statement_n+1 ;

]end

case;

這個是一般語句,注意 在then  後面需要 ; 分號,而且結束的時候  是 end case ;

case

v_element

when xx then

yy;

when *** then

yyy;

else

yyyy;

endcase;

當v_element 等於 xx 時,執行 yy 語句,如果很長可以 前後加 begin 和 end,判斷的條件是  v_element =xx ,xx是 具體值。

二.搜尋式 case 語句

case

when search_condition_1 then

statement_1;

[when search_condition_1 then statement_2;][

...]

[else statement_n+1 ;

]end

case;

case

when v_element=xx then

yy;

when v_element=*** then

yyy;

else

yyyy;

endcase;

按順序執行  選擇條件 ,可以是 < > = 等,然後執行後面的語句,遇到乙個為true 時將停止。

三.case表示式

前兩個可以歸一類,起碼寫法上類似,用case 語句做表示式,意思是可以這麼寫:

v_element:=

case

xx

when x then

y

else

yy

end;

orselect

case

xx

when x then

y

else

yy

end....

就是把case 放在一條語句裡面, 刪除 end case 中的case 和 最後的 ; 分號,中間語句的分號也要刪掉。

可以把 case 至  end  看成乙個值,最後面的分號是語句的要求,類似  a:= v ;  這樣的寫法。

四.nullif

這個是case 的變種函式,結構 :

nullif(xx,yy );
如果 xx = yy ,則返回 null, 如果不等啫返回 xx。

注意,在這函式中xx 引數不能為 null,即

nullif(null,0);
是錯的。

五.coalesce

把表示式中的每個表示式與null比較,返回第乙個非null 的表示式的值。結構如下:

coalsece (x1,x2,...,xn);
寫法上可以將最後的寫為0 ,這麼就類似於case 中的else 選項。

標籤: 

oracle, 

case, 

nullif, 

coalesce

C if語句 使用if語句

c 的if語句是用來判定所給的條件是否滿足,並根據判斷的結果true或false決定執行哪一步。單個if語句 如 if x y if 表示式 語句1 else 語句2 如 if x y else if 表示式1 語句1 else if 表示式2 語句2 else if 表示式3 語句3 else i...

資料庫基類方法(直接使用SQL語句或儲存過程呼叫)

類檔案 database.cs using system using system.collections.generic using system.text 引用類庫 using system.data.sqlclient using system.data using system.window...

Matlab使用 orth函式 正交基

注意 a orth b a的列數是等於b的秩數,所以,當b缺秩時,a的列就與b的列數不相等了。如 a 1 0 1 1 2 0 0 1 1 r rank a r 3 q orth a q 0.1200 0.8097 0.5744 0.9018 0.1531 0.4042 0.4153 0.5665 0...