新的起點

          新的起點
          隨筆 - 9, 文章 - 1, 評論 - 1, 引用 - 0
          數據加載中……

          Oracle中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
          · 使用方法:
          1、比較大小
          select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; --取較小值
          sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1
          例如:
          變量1=10,變量2=20
          則sign(變量1-變量2)返回-1,decode解碼結果為“變量1”,達到了取較小值的目的。


          下面的例子說明了,如何讀取用戶CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的項目,作為DECODE函數的實參支持值。
          SELECT checkup_type,
          DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’)
          FROM checkup;

          posted on 2008-12-09 21:06 軋鋼王子 閱讀(142) 評論(0)  編輯  收藏 所屬分類: Oracle 語法

          主站蜘蛛池模板: 观塘区| 伊川县| 墨江| 那曲县| 梅河口市| 巨野县| 抚顺市| 门源| 淮阳县| 开远市| 万载县| 富平县| 新晃| 桓台县| 淮阳县| 新龙县| 镇江市| 郸城县| 东源县| 宜昌市| 忻城县| 枣阳市| 成武县| 南陵县| 开化县| 泽普县| 威远县| 临洮县| 营山县| 盐城市| 昔阳县| 乐都县| 惠来县| 鄂尔多斯市| 敖汉旗| 白朗县| 抚宁县| 甘泉县| 专栏| 左云县| 清远市|