我思故我強(qiáng)

          oracle里的判斷函數(shù)decode

          一個類似于判斷的函數(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

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

          我們統(tǒng)計(jì)NEWS中的新聞條數(shù),如果大于1000 的話就提示大于限制了.

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

          這樣limit 輸出的就為'己經(jīng)超出限制'這個字符串.

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

          a=10,變量b=20

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

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

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

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


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

          評論

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

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永德县| 南宫市| 凤山县| 渑池县| 巢湖市| 万安县| 广河县| 增城市| 阜新| 泗水县| 民丰县| 松桃| 余姚市| 青田县| 开化县| 遂平县| 绥棱县| 青浦区| 塔河县| 定西市| 临夏县| 宾川县| 汝城县| 张家港市| 清水河县| 民乐县| 稻城县| 三明市| 资源县| 彭阳县| 泸溪县| 威宁| 巴彦县| 福鼎市| 图木舒克市| 来安县| 台江县| 顺义区| 大城县| 育儿| 融水|