云淡风轻的博客

寻门而入,破门而出(博客搬家至个人博客:http://wuyongshi.top)

SQL语句中case when的使用

我的应用场景:

根据用户连续登陆的天数,增加不同的经验值,如果通过select语句先查询出来登陆天数,再通过天数去判断应该增加多少经验值的话,做多次查询开启多次事务效率肯定比较低,用存储过程的话,感觉也没有太大必要,所以还是用数据库提供的方法case when来解决好了

直接上SQL语句了(MySQL)

大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的。在SQL的世界中CASE语句语句有类似的效果。

update user set `user`.exp =
 (case `user`.ramaindays when  0 then `user`.exp +3 
when 1 then `user`.exp +5
when 2 then `user`.exp + 7
when 3 then `user`.exp + 10
when 4 then `user`.exp + 13
when 5 then `user`.exp + 15
when 6 then `user`.exp + 18
when 7 then `user`.exp + 20
 else `user`.exp+20 end ) where id = 1;

更多详细使用,可以参考这篇文章
http://blog.csdn.net/shangboerds/article/details/4584880


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zml_2015/article/details/51451922
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭