Decode函數是oracle/SQL提供的特有函數計算方式,語法:DECODE(value,if1,then1,if2,then2,if3,then3,...else),通常我們在寫語句的時候可能會遇到多種Case,一般的處理方法是通過Case when或者if...then....else的方式實現,但是如果用decode函數,就顯得簡潔和方便很多,舉例:
假設在table1 中有一列company的值122和123,我們可以通過以下方式,將兩個值以兩列的形式顯示出來:
SELECT
DECODE(company, '122', '122', ''),
DECODE(company, '123', '123', ''),
sum(field1)
FROM table1
上述語句表示,在列company中,表示if 122 then 122 else為空;同樣if 123 then 123 else為空