admin管理员组文章数量:1794759
mysql中if...else的方法
mysql中if…else的方法 第一种if语句做为表达式使用,语法格式如下: IF(expr1,expr2,expr3) SELECT IF(1>0, '真', '假') FROM Table
今天终于体会到if的用法,受到该文章启发,可以使用if判断传入一个对象多个属性的多条件判断语句
@Query(value = "SELECT * FROM per_hire WHERE IF(?1!='',name=?1,1=1)\\n" + " AND IF(?2!='',sex=?2,1=1)\\n" + " AND IF(?3!='',highest_education=?3,1=1)\\n" + " AND IF(?4!='',if_fresh=?4,1=1)\\n" + " AND IF(?5!='',hire_dept=?5,1=1)\\n" + " AND IF(?6!='',hire_position=?6,1=1)\\n" + " AND IF(?7!='',hire_channel=?7,1=1)\\n" + " AND IF(?8!='',hire_type=?8,1=1)",nativeQuery = true) List<PerHire> findper(String name, String sex, String highestEducation, String ifFresh, String hireDept, String hirePosition, String hireChannel, String hireType);多条件嵌套:
SELECT IF(1>0, IF(2>1, '真', '假'), '假') FROM TableCASE WHEN
SELECT CASE 1 WHEN 1 THEN '字段的值是1' WHEN 2 THEN '字段的值是2' ELSE '字段的值3' END FROM Table 注意:THEN后边的值与ELSE后边的值类型应一致,否则会报错。 第二种:IF…ELSE…做为流程控制语句使用,语法格式如下: IF search_condition THEN RETURN() ELSEIF search_condition THEN RETURN() ELSE RETURN() END IF例如第N高薪水的完善
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN if N<0 then RETURN (select min(Salary) from Employee); else SET N = N-1; RETURN ( select ifnull((select distinct Salary from Employee order by Salary desc limit N,1),null) as NthHighestSalay ); end if; END版权声明:本文标题:mysql中if...else的方法 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686493486a73704.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论