oracle里的判斷函數(shù)decode
一個(gè)類似于判斷的函數(shù).它就是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
那這個(gè)有什么用呢,用處可就大了.比方說 select count(*) from news
我們統(tǒng)計(jì)NEWS中的新聞條數(shù),如果大于1000 的話就提示大于限制了.
這樣 select decode(count(*),1000,'己經(jīng)超出限制',limit)
這樣limit 輸出的就為'己經(jīng)超出限制'這個(gè)字符串.
我們還可以用這個(gè)判斷大小
a=10,變量b=20
則sign(a-b)返回-1,decode解碼結(jié)果為“變量1”,達(dá)到了取較小值的目的。
sign()函數(shù)根據(jù)某個(gè)值是0、正數(shù)還是負(fù)數(shù),分別返回0、1、-1
decode(sign(a-b),-1,a,b)
如果a<b的話,就輸出A的值
posted on 2007-07-28 13:15 李云澤 閱讀(11978) 評論(2) 編輯 收藏 所屬分類: Oracle