mysql里创建自定义函数---将某字段以逗号分割并取出第一个数据

本文介绍了在MySQL中如何创建自定义函数splitString,用于将字段按特定分隔符分割并获取第一个元素。通过设置命令终止符,定义函数,然后测试成功后恢复命令终止符。同时提供了查询自定义函数状态和详情的相关SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查看常见函数的功能是否开启

	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

常用查询语句:

  1. show function status;  查看自定义的函数
  2. show variables like '%func%'; 查看函数功能状态
  3. SET GLOBAL log_bin_trust_function_creators=1; 开启函数功能
  4. SET GLOBAL log_bin_trust_function_creators=0; 关闭函数功能
  5. select * from mysql.proc where db= 'bookbar' and type='function'; 查看某个数据库下自定义函数的详细信息
  6. SHOW CREATE FUNCTION funName;  查看某个具体函数的创建过程。  
  7. show procedure status; 查看所有的存储过程信息
  8. select name from mysql.proc where db = 'test' and type = 'PROCEDURE'; 查看test数据库下的存储过程名称


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值