sql查詢將列裏面的值替換爲別的值但是實際值不變

數據庫有一張表BUG(缺陷記錄表) 裏面有字段severity(嚴重程度): 
severity的值實際爲1,2,3,4,但希望在查詢結果中將severity的1,2,3,4值顯示爲其他的值,但severity的實際值不會改變;
例如:數據表的結構和數據如下:
bug_id       name      severity
   1         張三           1
   2         李四           2
   3         王五           3
   4         馬六           4
   5         周王           5
要在查詢結果中將severity實際值顯示爲中文,如下:
      severity實際值       severity 顯示結果
             1                 緊急
             2                  高
             3                  中
             4                  低
查詢語句:
select bug_id,name,
(case severity 
when 1 then '緊急' 
when 2 then '高' 
when 3 then '中' 
when 4 then '低' 
else '其他' 
end)
from BUG;
查詢結果:
bug_id       name      severity
   1         張三           緊急
   2         李四           高
   3         王五           中
   4         馬六           低
   5         周王           其他


語句解釋:
select 
(case 字段名 
when  實際值1  then  替換值1
when  實際值2  then  替換值2 
…………
when  實際值n  then  替換值n 
else  替換值x
end)
from 表名;


1、case 字段名:要替換顯示值的字段;


2、when  實際值1  then  替換值1:當查詢結果的字段值爲實際值1時,將結果顯示爲替換值1;


3、else 替換值x:當查詢結果字段值的實際值不滿足前面所有條件時,將期顯示爲替換值x;


4、end:替換語句結束;


5、要將多個字段的顯示值都替換成其他值時,只需增加多個(case 字段名 when 實際值 then 替換值 end)語句,中間使用逗號分隔;


發佈了20 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章