熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle中decode函數用法

2013-11-13 16:13:27  來源: Oracle 

  DECODE函數相當於一條件語句(IF)它將輸入數值與函數中的參數列表相比較根據輸入值返回一個對應值函數的參數列表是由若干數值及其對應結果值組成的若干序偶形式當然如果未能與任何一個實參序偶匹配成功則函數也有默認的返回值區別於SQL的其它函數DECODE函數還能識別和操作空值

  其具體的語法格式如下

  DECODE(input_valuevalueresult[valueresult…][default_result]);

  其中

  input_value 試圖處理的數值DECODE函數將該數值與一系列的序偶相比較以決定最後的返回結果

  value  是一組成序偶的數值如果輸入數值與之匹配成功則相應的結果將被返回對應一個空的返回值可以使用關鍵字NULL於之對應

  result  是一組成序偶的結果值

  default_result 未能與任何一序偶匹配成功時函數返回的默認值

  下面的例子說明了如何讀取用戶CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的項目作為DECODE函數的實參支持值

  SELECT checkup_type

  DECODE(blood_test_flagYYesNNoNULLNoneInvalid)

  FROM checkup;

  例

  select f_orgcount(f_org) as aa

  sum(decode(F_FETTLE)) as 未處理

  sum(decode(F_FETTLE)) as 處理中

  sum(decode(F_FETTLE)) as 已查結

  sum(decode(F_FETTLE)) as 已查實

  from t_supervi

  where F_SIGN=

  group by f_org

  order by aa;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17980.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.