作者qw151300 (QQ)
看板Database
標題[討論] MySQL 如何取代欄位內資料
時間Sun Jan 8 14:50:50 2017
資料庫名稱:MySQL
資料庫版本:5.7.18
內容/問題描述:
大家好 初學程式 在MySQL碰到一些問題 想請教各位 以下為原始資料
Name Salary
----------------
Peter 52000
Mary Null
John 0
要將上面資料變成如下
Name Salary
----------------
Peter 52000
Mary Already Left
John Already Left
我試過以下兩個寫法都error無法改成上述 (我的table為emp)
mysql-> select Name, Salary
from emp
UPDATE emp SET Salary = REPLACE(Salary,'NULL','Already Left')
where emp is NULL;
mysql-> select Name, Salary
from emp
if (Salary='NULL') or (Salary='0') "Already Left";
麻煩各位指點一下 有什麼其他解法 先謝謝大家了!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.207.163
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1483858253.A.C6F.html
※ 編輯: qw151300 (1.161.207.163), 01/08/2017 15:05:49
1F:推 hwChang: SELECT Name, IF(Salary, Salary, "Already Left") 01/08 15:37
2F:→ hwChang: FROM emp ; 01/08 15:37
成功了!! 感謝hwChang大的指點
※ 編輯: qw151300 (1.161.207.163), 01/08/2017 16:07:05
3F:推 criky: 詢問一下若是MS SQL要怎麼寫?我遇到資料格式轉換的問題 01/08 16:29
4F:→ criky: 文章中的salary是varchar還是integer? 01/08 17:13
5F:→ criky: 若是varchar可以直接做 select Name, case when Salary>0 01/08 17:39
6F:→ criky: then Salary else 'Already left' End as Salary from tmp 01/08 17:40