作者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/cn.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