自定义函数
CREATE FUNCTION function_name
RETURNS
{
STRING|INTEGER|REAL|DECIMAL
routine_body
}
创建无参函数
CREATE FUNCTION fun() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');
使用:SELECT fun();
结果:2018年05月04日 12点:41分:30秒
创建有参函数
CREATE FUNCTION fun2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1+num2)/2;
使用:SELECT fun2(20,30);
结果:25.00
创建具有复杂函数体的自定义函数
在创建这个自定义函数前,应当暂时修改Mysql结束符号以防止分号冲突:
改为://
命令:DELIMITER //
创建语句:
CREATE FUNCTION adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT tb1(username) VALUES(username);
RETURN LAST_INSERT_ID();
END
//
使用:SELECT adduser(‘hello’);
结果:1