场景:我在做游戏 处理未完成的数据库脚本lua的时候,需要实现split() 方法,就去网上搜索,但是mysql5 系 不支持,就需要我们自己手写函数了。遂研之。

格式(经过navicat美化)

创建函数

--无参
CREATE FUNCTION 方法名 ( ) RETURNS 返回值类型 BEGIN
	RETURN 返回内容;
END;

-- 有参
CREATE FUNCTION 方法名 (变量名1 数据类型,变量名2 数据类型2) RETURNS 返回值类型 BEGIN
	RETURN 返回内容;
END;

删除函数

DROP FUNCTION 函数名;

案例
DROP FUNCTION hello1;

说明:

方法名你自己所以定制,切记不能与当前数据库有相同的方法名

返回值类型,必须是mysql支持的数据类型

返回内容,你自己定制

案例

场景一:制作返回当前时间的函数hello

CREATE FUNCTION hello ( ) RETURNS datetime BEGIN
	RETURN now( );
END;

-- 执行hello()方法,查看结果
SELECT
	hello ( )

结果

场景二:删除创建过的hello 函数

DROP FUNCTION hello;

结果:

场景三:创建函数hello3并传入2个参数进行求和

CREATE FUNCTION hello3 ( a INT, b INT ) RETURNS INT BEGIN
	RETURN a + b;
END;

-- 执行hello3()方法,查看结果
SELECT hello3(1,2);

结果