表的字段中的值需要替换怎么办?【if 函数,case when函数,中间表思路】
生活随笔
收集整理的這篇文章主要介紹了
表的字段中的值需要替换怎么办?【if 函数,case when函数,中间表思路】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一個表中,我們的數據如下:
先說需求,在性別gender一欄,我們希望展示的不是M/F,而是男女。問如何處理???
此刻我腦海中三種想法,不過有兩種想法的思路是一致的。一一演示:
先說第一種思路:
沒錯,if函數
select id,class_id,name,if(gender = 'M','男','女') as gender from students結果展示:
第二種思路:
函數:case? when then? end
我們稍微擴展的思考一下,假如這個需求不是字母轉換性別,而是比如一個ip轉地址,而且有不同的ip,8種。那么if是不是就不能滿足了。所以case when end你值得擁有。
select id, class_id, name, case gender when 'M' then '女' when 'F' then '男' end gender from students結果展示:
第三種思路:
我所說的第三種是在升級版,假如需要更換的字段有20,30多個呢。
難道寫10,30多個when,有沒有好點的解決方案呢?
且聽。。。這次分解!!!
這就是思路:
select id,class_id,name,sex from students s left join transform t on s.gender = t.gender;結果展示:
你學到了嗎???
?
總結
以上是生活随笔為你收集整理的表的字段中的值需要替换怎么办?【if 函数,case when函数,中间表思路】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何改变cmd的编码格式?
- 下一篇: 大剑无锋之一句话输出表中每一个同学的成绩