MySQL实现切分字符串

1、此函数用于计算按照切分字符所产生的数组长度当然可以不用单独写函数,直接在自定义函数中使用 length(str)-length(replace(str, splitstr, ''))+1即为长度

delimiter $$


drop function if exists 'string_length'$$


create definer=`root`@`%` function`string_length`(str varchar(200), splitstr varchar(5)) returns INT(11)
begin
return length(str)-length(replace(str, splitstr, ''))+1;  
end$$


delimiter ;

参数说明:比较简单,str 需要分割的字符串,splitstr分隔符",".

2、按照切分的数组,取出每一个字符串

delimiter $$

drop function if exists  `func_get_split_string`$$

create definer =`root`@`localhost` function`func_get_split_string`(f_string varchar(1000),f_delimiter varchar(5),f_order INT) returns varchar(1000)  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$$


delimiter;

参数说明:最后的f_order为第几个,默认第一个为1,而不是常规的0开始,此处需要注意,f_string为需要切割的字符串,f_delimiter为分隔符,一般为“,”.

以上,祝您工作愉快!  读书笔记---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值