SQL語句的DECODE()和NVL()函數用法 SELECT DECODE(choose_tool,0,'寶馬',1,'電動車',2,'自行車','步行') AS my_tool FROM data_tool_t //分析:當choose_tool為0時候,my_tool=‘寶馬’ 當choose ...
SQL語句的DECODE()和NVL()函數用法
SELECT
DECODE(choose_tool,0,'寶馬',1,'電動車',2,'自行車','步行') AS my_tool
FROM
data_tool_t
//分析:當choose_tool為0時候,my_tool=‘寶馬’
當choose_tool為1時候,my_tool=‘電動車’
當choose_tool為2時候,my_tool=‘自行車’
當choose_tool都不是上面數字時候,my_tool=‘步行’
NVL()函數:
NVL(ARG,VALUE)如果前面的ARG值不為NULL,返回的值為ARG,否則返回的值為後面的VALUE:
DECODE函數
DECODE 中的if-then-else邏輯
在邏輯編程中,經常用到If – Then –Else 進行邏輯判斷。在DECODE的語法中,實際上就是這樣的邏輯處理過程。它的語法如下:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某個表的任何類型的任意列或一個通過計算所得的任何結果。當每個value值被測試,如果value的值為if1,Decode 函數的結果是then1;如果value等於if2,Decode函數結果是then2;等等。事實上,可以給出多個if/then 配對。如果value結果不等於給出的任何配對時,Decode 結果就返回else 。
需要註意的是,這裡的if、then及else 都可以是函數或計算表達式。