Oracle資料庫Decode 函式的使用方法

2021-08-31 20:40:16 字數 1327 閱讀 5969

[摘要]decode函式的作用:它可以將輸入數值與函式中的引數列表相比較,根據輸入值返回乙個對應值。函式的引數列表是由若干數值及其對應結果值組成的若干序偶形式。

[關鍵字]

oracle

decode()

decode函式的作用:它可以將輸入數值與函式中的引數列表相比較,根據輸入值返回乙個對應值。函式的引數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,如果未能與任何乙個實參序偶匹配成功,則函式也有預設的返回值。

區別於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' end

from dual

另外,大家還可以在order by中使用decode。

例:表table_subject,有subject_name列。要求按照:語、數、外的順序進行排序。這時,就可以非常輕鬆的使用decode完成要求了。

select * from table_subject order by decode(subject_name, '語文', 1, '數學', 2, , '外語',3)

Oracle資料庫Decode 函式的使用方法

decode函式的作用 它可以將輸入數值與函式中的引數列表相比較,根據輸入值返回乙個對應值。函式的引數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,如果未能與任何乙個實參序偶匹配成功,則函式也有預設的返回值。區別於sql的其它函式,decode函式還能識別和操作空值。語法如下 decode...

Oracle資料庫Decode 函式的使用方法

oracle資料庫decode 函式的使用方法 decode函式的作用 它可以將輸入數值與函式中的引數列表相比較,根據輸入值返回乙個對應值。函式的引數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,如果未能與任何乙個實參序偶匹配成功,則函式也有預設的返回值。區別於sql的其它函式,decod...

oracle 資料庫中的decode 和nvl函式

select decode wp01.ondo kbn,0,対象外 1,常溫 2,保冷 as ondo kbn from wp01 s haitotal wp01 分析 當wp01.ondo kbn 0時,將 対象外 賦值 當wp01.ondo kbn 1時,將 常溫 賦值 當wp01.ondo k...