我思故我強(qiáng)

          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

          評論

          # re: oracle里的判斷函數(shù)decode 2008-09-28 15:15 huangyq

          看了好幾個(gè)介紹 decode()這個(gè)函數(shù)介紹哦
          還是在你這看懂了 ,謝謝!  回復(fù)  更多評論   

          # re: oracle里的判斷函數(shù)decode 2008-11-28 16:20 sweety

          謝謝,很有用!  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 铜山县| 阿勒泰市| 开封县| 龙泉市| 云阳县| 吉隆县| 罗源县| 盐亭县| 涞水县| 界首市| 望江县| 黑水县| 武隆县| 蒙自县| 墨竹工卡县| 新干县| 池州市| 浙江省| 长春市| 攀枝花市| 鹿泉市| 黄骅市| 辽宁省| 南汇区| 双鸭山市| 迁安市| 永善县| 长乐市| 金秀| 涟源市| 保定市| 苍山县| 同仁县| 武宁县| 广东省| 道真| 景宁| 七台河市| 卫辉市| 盐边县| 璧山县|