1、
資料庫有一張表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和空白值替換為其他的值呢?有人建議使用isnull 函式,但是該函式只能替換null無法替換空白的值。可以使用下面的sql 語句對null和空白值都替換為其他的值。select case when telphone is ...
sql 列設定預設值,語法查詢知識點積累
一 修改字段預設值 alter table 表名 drop constraint 約束名字 說明 刪除表的字段的原有約束 alter table 表名 add constraint 約束名字 default 預設值 for 欄位名稱 說明 新增乙個表的字段的約束並指定預設值 二 修改欄位名 alte...
用SQL將查詢出來的多列的值拼接成乙個字串
用sql將查詢出來的多列的值拼接成乙個字串 mysql中 sql 單列拼接,先查出一行,再加上逗號,接著拼接 查出的下一行 select group concat e.support from engines e where e.xa in yes no 結果如下 yes,yes,yes,yes,y...