1. 程式人生 > >Oracle Decode函式的簡單用法與個人理解

Oracle Decode函式的簡單用法與個人理解

Oracle Decode函式的簡單用法

個人的簡單理解

本人在嘗試用了之後發現,decode的用法其實與Excel中IF的用法類似
decode(條件,值1,返回值1,值2,返回值2,…值n,返回值n,預設值)
其中條件可以是列名,與之對應的則是每列當中的資料
可以將該函式理解為一個簡單的If判斷語句
IF 條件=值1
THEN
    RETURN(返回值1)
ELSIF 條件=值2
THEN
    RETURN(返回值2)
    …
ELSIF 條件=值n
THEN
    RETURN(返回值n)
ELSE
    RETURN(預設值)
END IF

舉例說明

從如下表中撈取資料
在這裡插入圖片描述
執行一段SQL
目的為:將性別為男的人員標記為1,性別為女的人員標記為2

select name,decode(gender,'男',1,2)as number from table_name(對應的表名);

理解為IF語句
IF gendor的值=‘男’ THEN
    RETURN(1)
ELSE
    RETURN(2)
END IF
查詢結果如下
在這裡插入圖片描述

上述的SQL也可以轉換為

select name .decode(gender,'男',1,'女',2,3)as number from table_name(對應的表名)

對應的IF判斷可以理解為
IF gender的值=‘男’ THEN
    RETURN(1)
ELSIF gender的值=‘女’ THEN
    RETURN(2)
ELSE
    RETURN(3)
END IF

總而言之,根據實際的使用情況總結下來,可以先通過能否將所需要的結果轉換為IF判斷語句來選擇是否需要採用decode函式