真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何正確使用casewhen表達式和decode函數(shù)?

    相信很多小伙伴在開發(fā)過程中都有用到case when表達式和decode函數(shù),那么會不會有小伙伴和我一樣剛開始有很多疑慮,什么情況下用case when,什么情況下用decode呢?兩者有什么區(qū)別呢?今天小編就帶大家細分一下兩者的區(qū)別:

    case when表達式不僅可以等值連接還可以范圍判斷;decode函數(shù)可以等值連接。

    這樣說大家可能不能理解,舉個例子吧,如下;
    創(chuàng)建一張表tmp1,列為dept表示部門信息,分別有10,20,30,40,50部門:

如何正確使用case when表達式 和 decode函數(shù)?

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務來鳳,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

    用case when表達式判斷,如果部門信息為10,則判斷為A,部門信息為20,則判斷為B,其他部門信息判斷為C:
    select case when dept = 10 then 'A'
                      when  dept = 20 then 'B'
                      else 'C'
    from tmp1;
    或者:
    select case  dept  when  10 then 'A'
                        when  20 then 'B'
                        else 'C'
    from tmp1;
    用decode函數(shù)判斷,如果部門信息為10,則判斷為A,部門信息為20,則判斷為B,其他部門信息判斷為C:
    select decode(dept,10,'A',20,'B','C') from tmp1;

    而如果想判斷部門信息為10或20時,判斷為'A',部門信息為30或40時,判斷為'B',其他則判斷為'C'。這時只能用case when表達式:
    select  case when dept between 10 and 20 then 'A'
                            when dept between 30 and 40 then 'B'
                            else 'C'
                            end 
    from tmp1;

 注:這時sql不能再寫為
    select  case dept when between 10 and 20 then 'A'
                            when between 30 and 40 then 'B'
                            else 'C'
                            end 
    from tmp1;
    這時會報錯:  ORA-00936:缺失表達式

本篇文章已經(jīng)結束了,你學會了嗎?如若還有疑問,可留言給小編,看到必回復!

網(wǎng)站名稱:如何正確使用casewhen表達式和decode函數(shù)?
文章路徑:http://weahome.cn/article/ieojpg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部