Oracle的DECODE函式是一種條件函式,主要用於SQL語句中,以實現條件邏輯。其基本語法有兩種形式:
最簡單的形式是DECODE(value, if1, then1, if2, then2, ..., else)。當value等於if1時,返回then1;等於if2時,返回then2;依次類推。如果value不等於任何一個if值,則返回else值。
更為常用的形式是DECODE(expression, search1, result1, search2, result2, ..., default)。這裡的expression是待比較的欄位或表達式,它與後面的每個search值依次進行比較。如果expression等於search1,則返回result1;等於search2,則返回result2;依次類推。如果expression不等於所有的search值,那麼返回default值。
此外,DECODE函式在處理條件邏輯時非常有用,可以用於條件判斷、數據轉換、行列轉換等多種場景。例如,可以將數字成績轉換為對應的等級描述(優秀、良好、中等、及格、不及格),或者將多行數據轉換為列格式等。