mysql-if语句的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mysql-if语句的使⽤-- mysql if表达式
-- if(expr1, expr2, expr3):expr1为true,返回expr2,反之expr3
select user_email, if(user_email='gsdhj@', 'qq', '360') as result from `user` limit 2;
-- ifnull(expr1, expr2):在 expr1 的值不为 NULL的情况下都返回 expr1,否则返回 expr2,如下:
select ifnull('', '为null返回指定值') as `title`;
select ifnull(null, '为null返回指定值') as `title`;
-- nullif(expr1, expr2):如果两个参数相等则返回NULL,否则返回第⼀个参数的值expr1
select nullif(user_party, user_nation) as result from `user` limit 10;
select nullif('1', '1') as result from `user` limit 10;
-- if then else 逻辑运算
-- 在sql语句中,有两种形式
-- 1、simple case
select
case user_party
when 1 then '汉族'
when 2 then '满族'
when 3 then '蒙古族'
else '新疆维吾尔族'
end,
user_name
from `user` limit 10;
-- 2、searched case
select
case
when user_nation = 1 then '群众1'
when user_nation = 2 then '群众'
else '⽆'
end,
user_name
from `user` limit 10;
-- if else 流程控制语句,在存储过程中使⽤
delimiter $
drop procedure if exists pro2;
create procedure pro2(
param int
)
begin
set param = ifnull(param, 1);
if param=1 then
select * from `user` where user_id = 10;
elseif param=2 then
select * from `user` where user_id = 20;
else
select * from `user` where user_id = 30;
end if;
end;
$
delimiter ;
call pro2(null);
call pro2(3);
-- user_gender 从1【男】2【⼥】3【未知】从1开始的
select elt(user_gender, '男', '⼥', '未知') from `user` limit 10;。

相关文档
最新文档