SQL之CASE WHEN用法詳解(轉)


當我們需要從數據源上 直接判斷數據顯示代表的含義的時候 ,就可以在SQL語句中使用 Case When這個函數了.

Case具有兩種格式。簡單Case函數和Case搜索函數。


 第一種 格式 : 簡單Case函數 :

格式說明    

    case 列名

    when   條件值1   then  選擇項1

    when   條件值2    then  選項2.......

    else     默認值      end

eg:

    select
    case   job_level
    when     '1'     then    '1111'
    when   '2'     then    '1111'
    when   '3'     then    '1111'
    else       'eee' end
    from     dbo.employee


 第二種  格式 :Case搜索函數

格式說明    

    case  

    when  列名= 條件值1   then  選擇項1

    when  列名=條件值2    then  選項2.......

    else    默認值 end

eg:

    update  employee
    set         e_wage =
    case
    when   job_level = '1'    then e_wage*1.97
    when   job_level = '2'   then e_wage*1.07
    when   job_level = '3'   then e_wage*1.06
    else     e_wage*1.05
    end


提示:通常我們在寫Case When的語句的時候,會容易忘記 end 這個結束,一定要記得喲!

比較: 兩種格式,可以實現相同的功能。

    簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。還有一個需要注意的問題,Case函數只返回第一個符合條件的     值,剩下的Case部分將會被自動忽略。

 

不要總是說的很多,卻做得很少! 要明白'生於憂患,死於安樂'!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM