1. 程式人生 > >decode 函式用法

decode 函式用法

 語法:
     decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
該函式的含義如下:
if expression = search_1 then
    return(result_1)
if expression = search_2 then
    return(result_2)
    ......
if expression = search_n then
    return(result_n)
else
       return(default)
   end if;
    
例子: (比較大小)
select decode(sign(變數1-變數2),-1,變數1,變數2) from dual; --取較小值
sign()函式根據某個值是0、正數還是負數,分別返回0、1、-1

例如:
a = 10,b = 20

則sign(a - b)返回-1,decode解碼結果為 a,達到了取較小值的目的。

select decode(sign(10 - 20), -1 , 10, 20) from dual
----
10