1、
sign函式語法:
sign(n);
sign函式說明:
取數字n的符號,大於0返回1,小於0返回-1,等於0返回0(n可以是表示式,(n-200))
例子: 比較大小:
a=10;
b=50;
sign(a-b) ==-1
sign(b-a) == 1
sign(a-10)==02、
decode的用法
含**釋:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,預設值)
該函式的含義如下:
if 條件=值1 then
return(翻譯值1)
elsif 條件=值2 then
return(翻譯值2)
......
elsif 條件=值n then
return(翻譯值n)
else
return(預設值)
end if
decode(欄位或字段的運算,值1,值2,值3)
這個函式執行的結果是,當字段或字段的運算的值等於值1時,該函式返回值2,否則返回值3
當然值1,值2,值3也可以是表示式,這個函式使得某些sql語句簡單了許多
例子: 有一張user表 這張表中有乙個***(性別)字段,但是欄位的值是1或者0,我們需求是顯示男或者女,因此處理,那麼decode就可以解決了
select decode(u.*** ,1,男,女) from user u;就可以了,
細節講一下:
decode(u.*** ,1,男,女);其實decode底層應該是這樣比較的(感覺)是u.***==1?男:女(當然if else是可以的),我想說的是decode比較的是等於,其實並不能比較》或者是< 、>=、<=、只能是等於,但是我們可以結合sign(n)函式就很方便了,因為sign()返回的就是-1,0,1,我們可以根據這三個值來判斷,例如:
比較大小:
a = 10,
b=50.
select decode(sign(a-b),1,'a>b',0,'相等',-1,'ab',0,'相等','a=1)
else if((a-b)==0)
else
因此:sign和decode用到的機率還是蠻大的
Oracle中sign函式和decode函式的使用
oracle中sign函式和decode函式的使用 1.比較大小函式sign sign x 或者sign x 叫做符號函式,其功能是取某個數的符號 正或負 當x 0,sign x 1 當x 0,sign x 0 當x 0,sign x 1 x可以是函式或計算表示式 2.流程控制函式decode 在邏...
ORACLE的sign函式和DECODE函式
一.比較大小函式 sign 函式語法 sign n 函式說明 取數字n的符號,大於0返回1,小於0返回 1,等於0返回0 示例 1 select sign 100 sign 100 sign 0 from dual sign 100 sign 100 sign 0 1 1 0 2 a 10,b 20...
ORACLE的sign函式 和 DECODE函式
b 1 比較大小函式 sign b sign 函式根據某個值是0 正數還是負數,分別返回0 1 1 例如 quote a 10,b 20 則sign a b 返回 1 quote b 2 流程控制函式 decode b decode函式是oracle pl sql是功能強大的函式之一,目前還只有or...