我思故我強

          oracle里的判斷函數decode

          一個類似于判斷的函數.它就是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

          那這個有什么用呢,用處可就大了.比方說 select count(*) from news

          我們統計NEWS中的新聞條數,如果大于1000 的話就提示大于限制了.

          這樣 select decode(count(*),1000,'己經超出限制',limit)

          這樣limit 輸出的就為'己經超出限制'這個字符串.

          我們還可以用這個判斷大小

          a=10,變量b=20

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

          sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1

          decode(sign(a-b),-1,a,b)

          如果a<b的話,就輸出A的值


          posted on 2007-07-28 13:15 李云澤 閱讀(11977) 評論(2)  編輯  收藏 所屬分類: Oracle

          評論

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

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

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

          謝謝,很有用!  回復  更多評論   


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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 绥滨县| 临泉县| 乌兰县| 丰城市| 西平县| 新蔡县| 元氏县| 扶沟县| 凭祥市| 社会| 慈溪市| 如东县| 广昌县| 当阳市| 西华县| 琼海市| 高台县| 深水埗区| 车险| 镇安县| 潢川县| 吉安县| 深州市| 合江县| 五大连池市| 桑植县| 阜城县| 文山县| 玉环县| 黄大仙区| 宁国市| 岐山县| 呼伦贝尔市| 大姚县| 行唐县| 灵丘县| 太和县| 邓州市| 璧山县| 云浮市| 亚东县|