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)語句,中間使用逗號分隔;

 

 

原文網址:http://sujing1981.blog.163.com/blog/static/270251452013226105127924/


免責聲明!

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



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