MySQL - RETURN 语句
MySQL RETURN 语句
MySQL 中的 RETURN 语句用于结束存储函数。每个存储函数至少应包含一个 RETURN 语句。该语句仅用于存储过程、触发器或事件中的函数,您可以使用 LEAVE 语句代替 RETURN。
语法
以下是 MySQL RETURN 语句的语法 -
RETURN expression(表达式)
其中,expression 是要返回的值。
示例 1
以下查询演示了如何在函数中使用 RETURN 语句。
DELIMITER //
CREATE FUNCTION Sample (bonus INT)
RETURNS INT
BEGIN
DECLARE income INT;
SET income = 0;
myLabel: LOOP
SET income = income + bonus;
IF income < 10000 THEN
ITERATE myLabel;
END IF;
LEAVE myLabel;
END LOOP myLabel;
RETURN income;
END; //
DELIMITER ;
您可以调用上面创建的函数,如下所示 -
SELECT Sample(1000);
输出
上述 mysql 查询将产生以下输出 -
| Sample(1000) |
|---|
| 10000 |
示例 2
假设我们使用 CREATE 语句在数据库中创建了一个名为 Emp 的表,如下所示 -
CREATE TABLE Emp( Name VARCHAR(255), DOB DATE, Location VARCHAR(255) );
我们在 Emp 表中插入了三条记录,如下所示:
INSERT INTO Emp VALUES
('Amit', DATE('1970-01-08'), 'Hyderabad'),
('Sumith', DATE('1990-11-02'), 'Vishakhapatnam'),
('Sudha', DATE('1980-11-06'), 'Vijayawada');
以下查询创建了一个名为 getDob() 的函数,该函数接受员工姓名作为参数,检索并返回 DOB 列的值。
DELIMITER //
CREATE FUNCTION test.getDob(emp_name VARCHAR(50))
RETURNS DATE
DETERMINISTIC
BEGIN
declare dateOfBirth DATE;
select DOB into dateOfBirth from test.emp where Name = emp_name;
return dateOfBirth;
END//
DELIMITER ;
如果调用该函数,您可以获取员工的出生日期,如下所示 -
SELECT getDob('Amit');
输出
以下是上述查询的输出 -
| getDob('Amit') |
|---|
| 1970-01-08 |

