MySQL IF 语句在存储过程中实现了一个基本的条件结构。其语法如下:IF expression THEN Statements; END IF; 它必须以分号结尾。为了演示如何在 MySQL 存储过程中使用 IF 语句,我们将创建以下存储过程,该过程基于名为“student_info”表的如下所示的值:mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | ... 阅读更多
如果参数“count”的值大于分隔符的总出现次数,MySQL SUBSTRING_INDEX() 函数将返回与输出相同的字符串。可以使用以下示例进行演示:mysql> Select SUBSTRING_INDEX('My Name is Ram','a',3); +-----------------------------------------+ | SUBSTRING_INDEX('My Name is Ram','a',3) | +-----------------------------------------+ | My Name is Ram | +-----------------------------------------+ 1 row in set (0.00 sec) 以上查询返回相同的字符串,因为 3 大于作为参数提供的分隔符“a”的总出现次数。字符串中只有两个“a”。
局部变量是在存储过程中声明的变量。它们仅在其声明的 BEGIN…END 块内有效,并且可以具有任何 SQL 数据类型。为了演示这一点,我们将创建以下过程:mysql> DELIMITER // ; mysql> Create Procedure Proc_Localvariables() -> BEGIN -> DECLARE X INT DEFAULT 100; -> DECLARE Y INT; -> DECLARE Z INT; -> DECLARE A INT; -> SET Y = 250; -> SET Z = 200; -> SET A = X+Y+Z; -> SELECT X, Y, Z, A; -> ... 阅读更多