jjklm

          decode的用法

          含義解釋:?

          ??? decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)

          ??? 該函數(shù)的含義如下:

          IF 條件=值1 THEN
              RETURN(翻譯值1)
          ELSIF 條件=值2 THEN
              RETURN(翻譯值2)
              ......
          ELSIF 條件=值n THEN
              RETURN(翻譯值n)

          ELSE
              RETURN(缺省值)
          END IF

          ??? 使用方法:?

          ??? 1、比較大小

          select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; --取較小值
          sign()函數(shù)根據(jù)某個值是0、正數(shù)還是負數(shù),分別返回0、1、-1

          ??? 例如:

          變量1=10,變量2=20
          則sign(變量1-變量2)返回-1,decode解碼結(jié)果為“變量1”,達到了取較小值的目的。


          ??? 2、表、視圖結(jié)構(gòu)轉(zhuǎn)化

          ??? 現(xiàn)有一個商品銷售表sale,表結(jié)構(gòu)為:

          month    char(6)      --月份
          sell    number(10,2)   --月銷售金額







          但是只有一個值時,這種情況可能有點特殊:下面給出一個我做過的例子:
          select decode((to_char(pztysj,'yyyy-mm-dd hh24:mi:ss')||'到'||to_char(pzfysj,'yyyy-mm-dd hh24:mi:ss')),'到','',to_char(pztysj,'yyyy-mm-dd hh24:mi:ss')||'到'||to_char(pzfysj,'yyyy-mm-dd hh24:mi:ss')) as pztysj from tb_tms_tysq_tysq t


          如果(to_char(pztysj,'yyyy-mm-dd hh24:mi:ss')||'到'||to_char(pzfysj,'yyyy-mm-dd hh24:mi:ss')='到' 則 該字段的結(jié)果為'',否則為to_char(pztysj,'yyyy-mm-dd hh24:mi:ss')||'到'||to_char(pzfysj,'yyyy-mm-dd hh24:mi:ss')

          posted on 2006-11-01 14:17 天涯孤客 閱讀(153) 評論(0)  編輯  收藏


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 明星| 班玛县| 泉州市| 乌什县| 淅川县| 和平区| 进贤县| 双牌县| 榕江县| 安丘市| 敦煌市| 海兴县| 鸡东县| 潜山县| 泰兴市| 青浦区| 鄂尔多斯市| 大安市| 香河县| 仲巴县| 内乡县| 揭东县| 庆元县| 顺义区| 稻城县| 泰安市| 三河市| 柘城县| 甘肃省| 宁化县| 张掖市| 江都市| 县级市| 崇文区| 黄石市| 六枝特区| 凤山市| 宁夏| 肥西县| 谷城县| 公安县|