sql字段值的替換

2021-08-29 22:44:50 字數 1489 閱讀 9996

資料庫有一張表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,集團 集團總部 ...