/*翻译反转*/
CREATE DEFINER = 'root'@'localhost'
FUNCTION dcs_dev.function1(in_str VARCHAR(256), in_delimiter VARCHAR(8))
RETURNS varchar(256) CHARSET utf8
BEGIN
DECLARE v_count int;
DECLARE v_to_be_process varchar(256);
DECLARE v_remaining varchar(256);
DECLARE v_len int;
DECLARE v_res varchar(256) DEFAULT '';
/*获取需要循环的次数*/
SELECT LENGTH(in_str) - LENGTH(REPLACE(in_str,in_delimiter,'')) INTO v_count;
SET v_remaining = in_str;
SET v_count = v_count + 1;
REPEAT
SET v_len = INSTR(v_remaining,in_delimiter);
/*从1开始截取*/
SET v_to_be_process = SUBSTR(v_remaining FROM 1 FOR v_len);
/*in_delimiter只占一个字符,截取in_delimiter*/
SET v_to_be_process = LEFT(v_to_be_process,1);
/*剩余待处理的数据*/
SET v_remaining = SUBSTR(v_remaining,v_len+1);
/*不存在分隔符时,直接将剩余字符串赋值给 分隔后 待处理字符串*/
IF v_len = 0 THEN
SET v_to_be_process = v_remaining;
END
MySQL处理字符分隔反转
最新推荐文章于 2023-04-20 09:43:56 发布
![](https://img-home.csdnimg.cn/images/20240709112858.png)