tbwshc

          oracle中decode函數(shù)

          1.oracledecode函數(shù)

           

          DECODE函數(shù)相當(dāng)于一條件語句(IF).它將輸入數(shù)值與函數(shù)中的參數(shù)列表相比較,根據(jù)輸入值返回一個(gè)對(duì)應(yīng)值。函數(shù)的參數(shù)列表是由若干數(shù)值及其對(duì)應(yīng)結(jié)果值組成的若干序偶形式。當(dāng)然,如果未能與任何一個(gè)實(shí)參序偶匹配成功,則函數(shù)也有默認(rèn)的返回值。區(qū)別于SQL的其它函數(shù),DECODE函數(shù)還能識(shí)別和操作空值.
          其具體的語法格式如下:
          DECODE(input_value,value,result[,value,result…][,default_result]);
          其中:
          input_value
          試圖處理的數(shù)值。DECODE函數(shù)將該數(shù)值與一系列的序偶相比較,以決定最后的返回結(jié)果
          value
          是一組成序偶的數(shù)值。如果輸入數(shù)值與之匹配成功,則相應(yīng)的結(jié)果將被返回。對(duì)應(yīng)一個(gè)空的返回值,可以使用關(guān)鍵字NULL于之對(duì)應(yīng)
          result
          是一組成序偶的結(jié)果值
          default_result
          未能與任何一序偶匹配成功時(shí),函數(shù)返回的默認(rèn)值
          下面的例子說明了,如何讀取用戶CHECKUPSEAPARK中的BLOOD_TEST_FLAG列下的項(xiàng)目,作為DECODE函數(shù)的實(shí)參支持值。
          SELECT checkup_type,
          DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’)
          FROM checkup;

           

           

          2.oracleto charto date的區(qū)別

           

          o char 是把日期或數(shù)字轉(zhuǎn)換為字符串
          to date 是把字符串轉(zhuǎn)換為數(shù)據(jù)庫中得日期類型
           轉(zhuǎn)換函數(shù)Ø
           TO_CHAR²
          使用TO_CHAR函數(shù)處理數(shù)字
          TO_CHAR(number, '格式')
          TO_CHAR(salary,’$99,999.99’);
          使用TO_CHAR函數(shù)處理日期
          TO_CHAR(date,’格式’);
           TO_NUMBER²
          使用TO_NUMBER函數(shù)將字符轉(zhuǎn)換為數(shù)字
          TO_NUMBER(char[, '格式'])
           TO_DATE²
          使用TO_DATE函數(shù)將字符轉(zhuǎn)換為日期
          TO_DATE(char[, '格式'])

           數(shù)字格式格式²
          9 代表一個(gè)數(shù)字
          0 強(qiáng)制顯示0
          $ 放置一個(gè)$
          L 放置一個(gè)浮動(dòng)本地貨幣符
          . 顯示小數(shù)點(diǎn)
          , 顯示千位指示符

          ² 日期格式
          格式控制 描述
          YYYYYYYYY 分別代表4位、3位、2位的數(shù)字年
          YEAR 年的拼寫
          MM 數(shù)字月
          MONTH 月的全拼
          MON 月的縮寫
          DD 數(shù)字日
          DAY 星期的全拼
          DY 星期的縮寫
          AM 表示上午或者下午
          HH24HH12 12小時(shí)制或24小時(shí)制
          MI 分鐘
          SS 秒鐘
          SP 數(shù)字的拼寫
          TH 數(shù)字的序數(shù)詞
          特殊字符假如特殊字符
          HH24:MI:SS AM 15:43:20 PM
          DD “OF” MONTH 12 OF OCTOBER
          DDSPTH fourteenth
          Date的格式 ’18-5-84’

           

           

           

          3 NVL() 函數(shù)

           從兩個(gè)表達(dá)式返回一個(gè)非 null 值。

          語法

          NVL(eExpression1, eExpression2)

          參數(shù)
          eExpression1, eExpression2

          如果 eExpression1 的計(jì)算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計(jì)算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。

          返回值類型

          字符型、日期型、日期時(shí)間型、數(shù)值型、貨幣型、邏輯型或 null 值

          說明tb

          在不支持 null 值或 null 值無關(guān)緊要的情況下,可以使用 NVL( ) 來移去計(jì)算或操作中的 null 值。

          select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID

          注意:兩個(gè)參數(shù)得類型要匹配

           

           

           

          posted on 2012-05-31 10:24 chen11-1 閱讀(1747) 評(píng)論(0)  編輯  收藏 所屬分類: oracle


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 广汉市| 桂阳县| 新晃| 绥芬河市| 广丰县| 诸暨市| 达拉特旗| 新安县| 西峡县| 日照市| 甘谷县| 阳原县| 胶南市| 湘潭县| 石台县| 凉城县| 玉屏| 阿坝| 武功县| 竹溪县| 科技| 巴楚县| 临邑县| 迁西县| 东宁县| 水城县| 深泽县| 石门县| 蓝田县| 鄂伦春自治旗| 浦县| 赣州市| 西丰县| 大石桥市| 双流县| 南丰县| 石首市| 永城市| 石渠县| 孝昌县| 安阳市|