MySQLIF语句语法示例讲解MySQLIF语句允许您根据表达式的某个条件或值结果来执行一组SQL语句。要在MySQL中形成一个表达式, 可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。请注意,有一个IF函数与本 教程中指定的IF语句是不同的。MySQLIF语句语法下面说明了IF语句的语法:?123IFexpressionTHEN?st atements;ENDIF;SQL如果表达式(expression)计算结果为TRUE,那么将执行statements语句,否 则控制流将传递到ENDIF之后的下一个语句。以下流程图演示了IF语句的执行过程:MySQLIFELSE语句如果表达式计算结 果为FALSE时执行语句,请使用IFELSE语句,如下所示:?12345IFexpressionTHEN?statement s;ELSE?else-statements;ENDIF;天地棋牌http://www.dadiqipaigw.cnSQL 以下流程图说明了IFELSE语句的执行过程:MySQLIFELSEIFELSE语句如果要基于多个表达式有条件地执行语句, 则使用IFELSEIFELSE语句如下:?12345678IFexpressionTHEN?statements;ELSE IFelseif-expressionTHEN?elseif-statements;...ELSE?else-statemen ts;ENDIF;棋牌评测网http://www.77884.netSQL如果表达式(expression)求值为TRUE ,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,则如果elseif_expression的计算结果 为TRUE,MySQL将执行elseif-expression,否则执行ELSE分支中的else-statements语句。具体流 程如下-MySQLIF语句示例以下示例说明如何使用IFESLEIFELSE语句,GetCustomerLevel()存储 过程接受客户编号和客户级别的两个参数。首先,它从customers表中获得信用额度然后,根据信用额度,它决定客户级别:PLATIN UM,GOLD和SILVER。参数p_customerlevel存储客户的级别,并由调用程序使用。?123456789101112 1314151617181920212223USEyiibaidb;?DELIMITER$$?CREATEPROCEDURE GetCustomerLevel(?inp_customerNumberint(11),?outp_customerLe vel?varchar(10))BEGIN?DECLAREcreditlimdouble;??SELECTcreditli mitINTOcreditlim?FROMcustomers?WHEREcustomerNumber=p_custom erNumber;??IFcreditlim>50000THEN?SETp_customerLevel=''PLATI NUM'';?ELSEIF(creditlim<=50000ANDcreditlim>=10000)THEN?SET p_customerLevel=''GOLD'';?ELSEIFcreditlim<10000THEN?SETp_cu stomerLevel=''SILVER'';?ENDIF;?END$$捕鱼游戏http://www.44771.netSQL以下流程图演示了确定客户级别的逻辑- |
|