Mysql自定义函数笔记

函数的概念与定义

理解函数

函数可以看作是一个加工作坊,这个加工作坊接收调用者传递过来的原料(传递的参数),然后将这些原料加工处理成产品(函数的返回值)再把产品返回给调用者

创建语法

建议自定义函数以fun_前缀

create function 函数名(参数1,参数2....) returns 返回值的数据类型

[函数类型]

begin

函数体

return 语句;

end;

例:

扫描二维码关注公众号,回复: 2843518 查看本文章

(将日期转换成2016年10月12日)

DELIMITER $$

CREATE FUNCTION fun_dateToStr(mdate datetime RETURNS VARCHAR(50)

BEGIN

     DCLARE str VARCHAR(50) DEFAULT '';(声明一个变量 使用DECLARE 变量名 数据类型 默认值)

     SET str = DATE_FORMAT(mdate,'%Y年%m月%d日');(使用SET对变量进行赋值)

     RETURN str;

END$$

DELIMITER ;

请大家课后了解函数类型,默认 language sql not deterministic sql security definer

自定义函数

DELIMITER

定义一个结束标识符,因为MySQL默认是以分号作为SQL语句的结束符的,而函数体内部要用到分号,所以会跟默认的SQL结束符发生冲突,所以需要先定义一个其他的符号作为SQL的结束符;

分支结构

IF 条件 THEN 语句 ELSEIF 条件 THEN 语句 ELSE 语句 END IF;

循环结构

循环名:loop end loop 循环名 WHILE,REPEAT

删除自定义函数

DROP FUNCTION IF EXISTS 自定义函数名

查看自定义函数定义

SHOW CREATE FUNTION 自定义函数名;

查看自定义函数状态

SHOW FUNCTION STATUS [LIKE]

存储过程

存储过程与函数的区别

游标

猜你喜欢

转载自blog.csdn.net/weixin_42588379/article/details/81774182