一、查看常见函数的功能是否开启
mysql> show variables like '%func%';
value值为OFF时。需要将其开启.
mysql> set global log_bin_trust_function_creators=1;二、选择想要创建函数的数据库.
mysql> use xxx;
Database changed
三、设置命令终止符号
delimiter $$
四、定义函数
mysql函数split功能实现
DROP function IF EXISTS `func_splitString` $$ CREATE FUNCTION `func_splitString` ( f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8 BEGIN declare result varchar(255) default ''; set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1)); return result; END$$五、测试函数是否创建成功
SELECT func_splitString('1,2,3,4,5,6,7',',',1);
六、测试成功后将命令终止符改回
delimiter ;
常用查询语句:
- show function status; 查看自定义的函数
- show variables like '%func%'; 查看函数功能状态
- SET GLOBAL log_bin_trust_function_creators=1; 开启函数功能
- SET GLOBAL log_bin_trust_function_creators=0; 关闭函数功能
- select * from mysql.proc where db= 'bookbar' and type='function'; 查看某个数据库下自定义函数的详细信息
- SHOW CREATE FUNCTION funName; 查看某个具体函数的创建过程。
- show procedure status; 查看所有的存储过程信息
- select name from mysql.proc where db = 'test' and type = 'PROCEDURE'; 查看test数据库下的存储过程名称