資料庫有一張表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)語句,中間使用逗號分隔;
SQL替換NULL值的顯示
在資料查詢中,有些欄位的值為null,但是我們一般不會直接把null顯示給使用者,所以需要用其他方式替換一下,比如 no value 例如有下面兩個表 t teacher id name 1 teacher1 2 teacher2 3 teacher3 4 teacher4t course id n...
sql變更字段值顯示
select receiving.ref id as po單 receiving.receiving code as asn號 receiving.contact as 採購員 case receiving.category when 51 then 手機電子 when 52 then 汽摩配 wh...
mysql遍歷所有表字段替換值
update eform lf directory set directory name 集團總部 where directory name 集團 update eform lf directory set directory name replace directory name,集團 集團總部 ...