SQL語句decode函式

2021-09-03 10:25:14 字數 1243 閱讀 9704

今天有個需求,幫財務從系統匯出乙份統計資料,由於系統設計的比較爛,簡單的乙個查詢語句被搞的比較複雜,用到decode函式來處理,居然還要用到加減法。語句如下:

select to_date(substr("doc_create_time", 0,9),'fmdd month yy'),  

fd_mingzi,  

(select  fd_name from sys_org_element where fd_id=fd_bumen),  

fd_ypzhiwei,  

fd_chengshi,  

to_date(substr("fd_time", 0,9),'fmdd month yy'),  

decode(fd_xinchoutx,'1','財務', '2','結算','3','採購','4','生產'),  

9-fd_xcdengj,  

11-fd_xinji,  

from ekp_ruzhi a,km_review_main b where a.fd_id = b.fd_id order by 1 desc; 

具體用法:

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

其具體的語法格式如下: 

decode(input_value,value,result[,value,result…][,default_result]); 

其中: 

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

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

result 是一組成序偶的結果值 

default_result 未能與任何一序偶匹配成功時,函式返回的預設值 

下面的例子說明了,如何讀取使用者checkup表seapark中的blood_test_flag列下的專案,作為decode函式的實參支援值。 

select checkup_type, 

decode(blood_test_flag,』y』,』yes』,』n』,』no』,null,』none』,』invalid』) 

from checkup;

SQL語句decode函式

今天有個需求,幫財務從系統匯出乙份統計資料,由於系統設計的比較爛,簡單的乙個查詢語句被搞的比較複雜,用到decode函式來處理,居然還要用到加減法。語句如下 select to date substr doc create time 0,9 fmdd month yy fd mingzi,selec...

SQL中 decode 函式簡介

今天看別人的sql時看這裡面還有decode 函式,以前從來沒接觸到,上網查了一下,還挺好用的乙個函式,寫下來希望對朋友們有幫助哈!decode 函式簡介 主要作用 將查詢結果翻譯成其他值 即以其他形式表現出來,以下舉例說明 使用方法 select decode columnname,值1,翻譯值1...

SQL中的decode 函式

decode 函式是sql中比較常見的函式,主要用於將查詢結果翻譯成其他值,下面將為您介紹sql中decode 函式,供您參考。decode 函式簡介 主要作用 將查詢結果翻譯成其他值 即以其他形式表現出來,以下舉例說明 使用方法 select decode columnname,值1,翻譯值1,值...