mysql流程控制语句概括
发布时间:2022-06-15 14:18:55 所属栏目:MySql教程 来源:互联网
导读:以前我们大多数据在用到条件判断时都会有用到if else下面我们要介绍是mysql if else case ifnull等这些命令语句的用法介绍. mysql中有如下的几个的控制流程的语句: 1)case,代码如下: // Below will return zero SELECT CASE 0 WHEN 0 THEN zero WHEN 1 THEN
以前我们大多数据在用到条件判断时都会有用到if else下面我们要介绍是mysql if else case ifnull等这些命令语句的用法介绍. mysql中有如下的几个的控制流程的语句: 1)case,代码如下: // Below will return zero SELECT CASE 0 WHEN 0 THEN 'zero' WHEN 1 THEN 'one' ELSE 'no one' END; // Below will return true SELECT CASE WHEN 5>2 THEN 'true' ELSE 'false' END; 实例,代码如下: CASE case_value --或者 CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE 2)if 语句,代码如下: SELECT IF(expr1,expr2,expr3); // return yes SELECT IF(1<5,'yes','no'); 有三个参数,如果第1个表达式返回true,则返回表达式2,否则返回表达式3. 实例,代码如下: create procedure dbname.proc_getGrade (stu_no varchar(20),cour_no varchar(10)) select stu_grade,'C'; elseif stu_grade70 and stu_grade>=60 then --phpfensi.com select stu_grade,'D'; else select stu_grade,'E'; end if; END 3)ifnull 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2,IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境,代码如下: mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,yes); -> yes IF(expr1,expr2,expr3) 如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3,IF()返回一个数字或字符串值,取决于它被使用的上下文,代码如下: -> 1 在上面的第一种情况中,IF(0.1)返回0,因为0.1被变换到整数值,导致测试IF(0),这可能不是你期望的,在第二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数. 4)nullif,代码如下: SELECT NULLIF(expr1,expr2);如果表达式1=表达式2,则返回null,否则返回第1个表达式,代码如下: SELECT NULLIF(expr1,expr2); // Return NULL SELECT NULLIF(5,5); // Return 10 SELECT NULLIF(10,4); 5)存储过程的,代码如下: mysql>create procedure ifprod() ->begin ->set @x=0; ->ins:loop; ->set @x=@x+1; if @x=100 then leave ins; end if insert into actor(firestname)values('www.phpfensi.com'); end loop ins; end; ->$$ Query Ok, 0 rows affected (0.00 sec); (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |