【mysql】使用 if() 函数快速交换数据

条件:给定一张表 user,有字段 id,name,vip, 要求使用一条SQL把 vip=y 的用户改为 vip=n,反之亦然。

update user set user = if(vip='y','n','y')

SQL的逻辑说明: 设定user 等于 if返回的结果 ,if函数内第一个字段是条件,第二个字段是满足条件返回的值,第三个字段是不满足条件返回的值。

原SQL

id  name  vip
1    A     y
2    B     n
3    C     n
4    D     y

运行之后 

id  name  vip
1    A     n
2    B     y
3    C     y
4    D     n

if() 函数强大的功能同样适用于查询,如:

select  id,name,if(vip='y','会员','不是会员') as vips from user where vip='y' or sex='n';

id  name  vips
1    A   不是会员
2    B     会员
3    C   不是会员
4    D     会员

猜你喜欢

转载自blog.csdn.net/sphinx1122/article/details/83593901