自定义函数:用户定义函数(UDF)是一种对MySQL扩展的途径,其用法与内置函数相同;自定义函数需要两个必要条件:参数和返回值;函数可以返回任意类型的值,同样可以接收这些类型的参数,最多1024个参数;
1.创建自定义函数:
CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
routine_body(函数体)
函数体有合法的SQL语句构成;可以是简单的SELECT或INSERT语句;如果为符合结构则使用BEGIN...END语句;复合结构可以包含声明、循环、控制结构;
2.举例创建一个无参数的函数
CREATE FUNCTION f2() RETURNS VARCHAR(30)
-> RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H时:%i分:%s秒');
3.举例创建一个带有参数的函数
计算两个数的平均值:
CREATE FUNCTION f1(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS FLOAT(10,2) UNSIGNED
-> return (num1+num2)/2;
4.举例创建一个具有复合结构的函数
首先利用DELIMITER //来修改命令结束符;即需要添加//命令才结束,就可以代替;
CREATE FUNCTION adduser(username VARCHAR(20)) RETURNS INT UNSIGNED
-> BEGIN
->INSERT test(username) VALUES(username);
->RETURN LAST_INSERT_ID();
->END
->//
5.删除函数
DROP FUNCTION [IF EXISTS] function_name;