• mysql


    -- mysql if表达式
    -- if(expr1, expr2, expr3):expr1为true,返回expr2,反之expr3
    select user_email, if(user_email='gsdhj@qq.com', '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;
    

      

  • 相关阅读:
    ant build打包
    在JAVA中如何获取当前源文件名以及代码的行号
    react以组件为中心的代码分割和懒加载
    java中针对 try和finally一些总结
    JS强制关闭浏览器页签并且不提示关闭信息
    由[].slice.call()引发的思考
    JS类型判断
    nginx的location配置
    DBCP连接池
    java/Servlet
  • 原文地址:https://www.cnblogs.com/gygtech/p/13666573.html
Copyright © 2020-2023  润新知