Decode函數
開發工具與關鍵技術:Oracle
作者:彭浩達
撰寫時間:2019年 3月 28日
Decode是一個和case表達式相似的函數,decode的寫法和case也非常相似,不過decode不可以判斷大於小於或兩個及以上的條件,感覺上decode像似case的簡化版(個人觀點,請勿打偶),就簡單來看下這decode函數的使用和case的相同處:
Case 數據列名 when 條件xx then 返回xx else 條件外返回xx end 結束
Decode(數據列名,條件XX,返回XX)
這樣對比是不是感覺case表達式跟decode函數很像了,一個簡化前,一個簡化後,再看一些栗子:
例:select hire_Date, case to_char(hire_date,‘yyyy’) when ‘1995’ then 0 end from employees
select hire_Date,decode(to_char(hire_date,‘yyyy’),‘1995’,0) “1995”
from employees
這兩條栗子的數據顯示效果的都是一樣的,使我更加認同他們兩的關係了,不過還是得注意decode函數只能等於不能大於小於,所以decode就比case弱一點,在沒有大於小於的或兩條及上的條件下,decode還是挺方便的