新聞中心
decode()函數(shù)是SQL中比較常見的函數(shù),主要用于將查詢結(jié)果翻譯成其他值,下面將為您介紹SQL中decode()函數(shù),供您參考。

創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為黎川企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),黎川網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
decode()函數(shù)簡介:
主要作用:將查詢結(jié)果翻譯成其他值(即以其他形式表現(xiàn)出來,以下舉例說明);
使用方法:
Select decode(columnname,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)
From talbename
Where …
其中columnname為要選擇的table中所定義的column,
·含義解釋:
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#p#
注:其中缺省值可以是你要選擇的column name 本身,也可以是你想定義的其他值,比如Other等;
舉例說明:
現(xiàn)定義一table名為output,其中定義兩個column分別為monthid(var型)和sale(number型),若sale值=1000時翻譯為D,=2000時翻譯為C,=3000時翻譯為B,=4000時翻譯為A,如是其他值則翻譯為Other;
SQL如下:
Select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output
特殊情況:
若只與一個值進行比較
Select monthid ,decode(sale, NULL,‘---’,sale) sale from output
另:decode中可使用其他函數(shù),如nvl函數(shù)或sign()函數(shù)等;
NVL(EXPR1,EXPR2)
若EXPR1是NULL,則返回EXPR2,否則返回EXPR1.
SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;
如果用到decode函數(shù)中就是
select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output
sign()函數(shù)根據(jù)某個值是0、正數(shù)還是負數(shù),分別返回0、1、-1,
如果取較小值就是
select monthid,decode(sign(sale-6000),-1,sale,6000) from output,即達到取較小值的目的。
【編輯推薦】
Sql Server數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
SQL中自定義函數(shù)的存儲過程的區(qū)別
Sql語言中的日期格式化函數(shù)getDate()
詳解SQL中的SUBSTRING函數(shù)
SQL中的時間函數(shù)
標(biāo)題名稱:SQL中decode()函數(shù)的使用
鏈接分享:http://www.dlmjj.cn/article/dhdgsgh.html


咨詢
建站咨詢
