作用:將輸入數值與函式中的引數列表相比較,根據輸入值返回乙個對應值。函式的引數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,假如未能與任何乙個實參序偶匹配成功,則函式也有預設的返回值。 區別於sql的其它函式,decode函式還能識別和操作空值。
語法:decode(control_value,value1,result1[,value2,result2…][,default_result]);
control _value試圖處理的數值。decode函式將該數值與後面的一系列的偶序相比較,以決定返回值。 value1是一組成序偶的數值。假如輸入數值與之匹配成功,則相應的結果將被返回。對應乙個空的返回值,可以使用要害字null於之對應 result1 是一組成序偶的結果值。 default_result 未能與任何乙個值匹配時,函式返回的預設值。
例如: select decode( x , 1 , 『x is 1 』, 2 , 『x is 2 』, 『others』) from dual 當x等於1時,則返回『x is 1』。 當x等於2時,則返回『x is 2』。 否則,返回others』。 需要,比較2個值的時候,可以配合sign()函式一起使用。 select decode( sign(5 -6), 1 'is positive', -1, 'is nagative', 'is zero') 同樣,也可以用case實現: select case sign(5 - 6) when 1 then 'is positive'when -1 then 'is nagative'else 'is zero' endfrom dual此外,還可以在order by中使用decode。 例如:表table_subject,有subject_name列。要求按照:語、數、外的順序進行排序。這時,就可以非常輕鬆的使用decode完成要求了。 select * from table_subject order by decode(subject_name, '語文', 1, '數學', 2, , '外語',3)
三元運算子
根據條件執行兩個語句中的其中乙個。test?語句1 語句2引數 test 任何boolean 表示式。語句1當 test 是true時執行的語句。可以是復合語句。語句2當 test 是false時執行的語句。可以是復合語句。說明?運算子是if.else語句的快捷方式。它通常被用作較大表示式的一部分,...
三元運算子
先定義a和b 兩個數比較 int a 123 int b 144 通過定義big來反映a和b誰更小 int big a b?a b 通過定義small來反映a和b誰更小 int small asystem.out.println a和b之間較大的數 big system.out.println a和...
三元運算子
一元運算子 只需要乙個資料就可以操作的運算子 例如 取反!自增 二元運算子 需要兩個資料才可以操作的運算子。例如 加法 三元運算子 需要三個資料才可以進行操作的運算子 格式 資料型別 變數名稱 條件判斷?表示式a 表示式b 流程 首先判斷條件是否成立 如果成立為true,那麼將表示式a的值賦值給左側...