MySQL创建函数例子
在MySQL中创建函数并调用
这一期分享MySQL里创建函数的用法,主要用两个例子来描述!!喜欢的不要忘了点赞哦!
判断某个日期是否是星期天(if…else语句)
DELIMITER $$
## 创建f函数用于判断日期i是否是星期天
CREATE FUNCTION f(i date) RETURNS char(10) CHARSET utf8
BEGIN
DECLARE t char(10);
SET t=dayname(i);
IF t='sunday' THEN
RETURN '星期天';
ELSE
RETURN 0;
END IF;
END$$
DELIMITER ;
SELECT f(CURDATE()); # 调用创建的f函数(这里用今天curdate()函数)
计算2+6+12+20+…+110的值(用while语句)
DELIMITER $$
## 创建ff函数计算2+6+12+20+…+110的值
CREATE FUNCTION ff() RETURNS INT
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE j INT DEFAULT 0;
DECLARE s INT DEFAULT 0;
WHILE j<110 DO # 只要规律相同,可自行更改终值
SET j=j+2*i;
SET i=i+1;
SET s=s+j;
END WHILE;
RETURN s;
END$$
DELIMITER ;
SELECT ff(); # 调用ff函数得到2+6+12+20+…+110的结果
总结
- 如果大家有运行错误的问题可能是版本不支持中文之类的,解决办法可以尽量不使用中文,或者像我一样在结尾加上 utf8 。
- 大家一定记得在SQL语句中,所有你要使用的参数都要提前申明,也就是不能忘了DECLARE语句噢!如果是函数创建时括号里的参数就不需要再次申明!