sql欄位值的替換
阿新 • • 發佈:2018-12-17
資料庫有一張表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)語句,中間使用逗號分隔;