看板 Database 關於我們 聯絡資訊
資料庫名稱: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://www.ptt.cc/bbs/Database/M.1483858253.A.C6F.html ※ 編輯: qw151300 (1.161.207.163), 01/08/2017 15:05:49
hwChang: SELECT Name, IF(Salary, Salary, "Already Left") 01/08 15:37
hwChang: FROM emp ; 01/08 15:37
成功了!! 感謝hwChang大的指點 ※ 編輯: qw151300 (1.161.207.163), 01/08/2017 16:07:05
criky: 詢問一下若是MS SQL要怎麼寫?我遇到資料格式轉換的問題 01/08 16:29
criky: 文章中的salary是varchar還是integer? 01/08 17:13
criky: 若是varchar可以直接做 select Name, case when Salary>0 01/08 17:39
criky: then Salary else 'Already left' End as Salary from tmp 01/08 17:40