mysql创建函数exam_case,通过case语句首先判断传入参数的值是否为10,如果条件成立则输出1,如果条件不成立则再判断该传入参数的值是否为20,如果成立则输出2,当以上条件都不满足时输出3。
时间: 2024-03-01 17:55:12 浏览: 13
可以使用下面的 SQL 代码来创建名为 exam_case 的 MySQL 函数:
```sql
CREATE FUNCTION exam_case (num INT) RETURNS INT
BEGIN
DECLARE result INT;
SET result =
CASE
WHEN num = 10 THEN 1
WHEN num = 20 THEN 2
ELSE 3
END;
RETURN result;
END;
```
这个函数接收一个整数参数 num,根据 num 的值使用 CASE 语句进行判断,如果 num 等于 10,返回 1,如果 num 等于 20,返回 2,否则返回 3。函数的返回值类型也是整数。
相关问题
用mysql8.0创建函数exam case,通过case语句首先判断传入参数的值是否为10,如果条件成立则输出1,如果条件不成立则再判断该传入参数的值是否为20,如果成立则输出2!当以上条件都不满足时输出3。
可以使用以下的SQL语句创建函数exam:
```
CREATE FUNCTION exam(p INT) RETURNS INT
BEGIN
DECLARE result INT;
SET result =
CASE
WHEN p = 10 THEN 1
WHEN p = 20 THEN 2
ELSE 3
END;
RETURN result;
END;
```
注意,在MySQL中,CASE语句必须包含在BEGIN和END之间,并且在函数中需要声明一个变量来存储结果。在函数中使用RETURN语句返回结果。现在,你可以使用以下的SQL语句测试函数:
```
SELECT exam(10); -- 输出1
SELECT exam(20); -- 输出2
SELECT exam(30); -- 输出3
```
MySQL中定义函数exam_while,应用while语句求1到100项的和
以下是MySQL中定义函数exam_while并应用while语句求1到100项的和的示例:
```
DELIMITER $$
CREATE FUNCTION exam_while()
RETURNS INT
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE sum INT DEFAULT 0;
WHILE i <= 100 DO
SET sum = sum + i;
SET i = i + 1;
END WHILE;
RETURN sum;
END$$
DELIMITER ;
SELECT exam_while();
```
运行以上代码后,将返回1到100项的和,即5050。