oracle中有case語句嗎

2022-10-11 15:30:09 字數 1078 閱讀 1196

oracle中有case語句;該語句可以把表示式結果同提供的幾個可預見的結果作比較,如果比較成功,則執行對應的語句序列,語法為「case 表示式 when 表示式結果1 then 執行項[when 表示式結果2 then 執行項]...」。

本教程操作環境:windows10系統、oracle 11g版、dell g3電腦。

oracle中有case語句

case語句可以分為兩種型別:

一種是簡單的case語句,它給出乙個表示式,並把表示式結果同提供的幾個可預見的結果作比較,如果比較成功,則執行對應的語句序列。

另一種是搜尋式的case語句。它會提供多個布林表示式,然後選擇第乙個為true的表示式,執行對應的指令碼。

1.簡單case語句

簡單case的語法如下:

分別輸入 1 、2 呼叫後的結果如下:

匿名塊已完成

男人匿名塊已完成

女人從上邊來看,case 的簡單語法如下:

case 標誌

when 引數1 then

語句塊1;

when 引數2 then

語句塊2;

else

語句塊3;

end case;執行過程中是,從上到下,依次拿when 後邊的引數,分別與上邊的標誌 進行比較,相等 則進入。

另外,上邊的else 如果不寫,假如沒有符合條件的when ,則會丟擲case_not_found 異常。

2.搜尋式case語句

搜尋式case與簡單式差不多,只不過是搜尋式的這種,case後邊是沒有引數的。

將上邊的例子,修改後如下,即是搜尋式case:

執行過程與上邊相同。

從上邊來看,搜尋式的case語法如下:

case

when 條件1 then

語句塊1;

when 條件2 then

語句塊2;

else

語句塊3;

end case;執行過程中是,從上到下,依次看when 後邊的條件是否為true,true 則進入。

另外,上邊的else 如果不寫,假如沒有符合條件的when ,也會丟擲case_not_found 異常。

在oracle裡面寫case語句

例子 在乙個表 tablename 中由於乙個字段 flag 的取值不同,對另乙個字段 value 分別作多次sum.selectid,nvl sum case whenflagis null thenvalue end 0 value a,nvl sum case whenflagisnot nu...

case分支語句

case分支語句 匹配執行的方式,針對的變數預先存在的值,判斷該變數 實際取值是否和預設的值相匹配,如果匹配,就執行相應的操作 如果不匹配,就執行預先設定好的預設操作 語法結構 case 變數值 in 模式1 命令序列1 模式2 命令序列2 預設命令序列 esac bin bash read p 請...

case 條件語句

case 條件語句語法格式 case 變數 in值 1 指令1.值 2 指令2.指令3.esac 範例根據使用者輸入判斷使用者收入的是哪個數字 如果使用者輸入的是1 9的任易數字,則輸出對應輸入的數字 如果是其他數字級字元,則發回輸入不正確的提示,並退出 bin bash read p please...