sql查詢將列裡面的值替換為別的值但是實際值不變

2021-10-12 10:35:31 字數 1146 閱讀 3200

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...