Mysql储存过程7: case

#用在储存过程中:

create
procedure k() begin declare number int; set number = floor(rand(0)*2); case number when number > 0 then select '>0'; else select '=0'; end case; end$

#用在查询中:
select case user when 'root' then 'yes' else 'no' end from mysql.user;

select case when user='root' then 'yes' else 'no' end from mysql.user;

注意这个case用在储存过程中与用在查询语句中是不一样的。

储存过程中要用end case结束, 用在一般查询中是end结束。

#储存过程case语法
case value
  when 条件 then
  SQL
  [when 条件 then]
  SQL
  [else]
  SQL
  end case;

#用在搜索中的case语法:
1.case when column=value then 'output1' else 'output2' end from database.table;
2.case column when 'value' then 'output1' else 'output2' end from database.table;


select case when column=value then 'output1' else 'output2' end  from database.table;

mysql> select user,case  when user='root' then 'yes' else 'no' end from mysql.user;$
+------+-------------------------------------------------+
| user | case  when user='root' then 'yes' else 'no' end |
+------+-------------------------------------------------+
| root | yes                                             |
| root | yes                                             |
| root | yes                                             |
+------+-------------------------------------------------+

 

用法可参以参考一下这里:

http://www.cnblogs.com/perl6/p/6995593.html

 

转载于:https://www.cnblogs.com/perl6/p/7114742.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值