MySQL分割字符串的实现
MySQL分割字符串应该如何实现呢?下面就为您介绍MySQL分割字符串的实现方法步骤,希望可以让您对MySQL分割字符串有更多的了解。

创新互联建站专注于张湾企业网站建设,成都响应式网站建设,商城网站建设。张湾网站建设公司,为张湾等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
例如:update `edw_video` set company = substring(keyword,1,length(SUBSTRING_INDEX(keyword,",",1)))
名称:SPLIT_SUB_STR1(取得split字符串的***段)
 参数:str 要split的目标字符串 (输入格式为‘11,2,3,4,5,6’; 输出为‘2,3,4,5,6’)
            delimiter 分隔符 (‘,’)
            split1 输出***项(‘11’)
 存储过程
 CREATE DEFINER=`root`@`%` PROCEDURE `SPLIT_SUB_STR0`(inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split1 VARCHAR(20))
BEGIN
 # 名称 SPLIT_SUB_STR1 取得分割字符串的***段字符
 # 参数inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split0 VARCHAR(20)
 #        输入完整字符串,输出去掉取得***项后的字符串; 分隔符; 输出split的***个项目
#分割出***段字符串不包括分隔符的长度
 DECLARE SUB_STR_LENGTH INT;
# SUBSTRING_INDEX函数取得目标字符串左侧第n个分割符左侧的部分,n为负时返回右侧第n个的右部分
 SET SUB_STR_LENGTH = length(SUBSTRING_INDEX(str,delimiter,1));
#截取***段字符串,不包括分隔符,放入输出参数里
 SET split0 = substring(str, 1, SUB_STR_LENGTH);
# 取得去掉***个字符串和分隔符的字符串,进行下次循环取得下个字符串
 SET str = substring(str, SUB_STR_LENGTH + 2 ); 
 #测试一下输出是否正确
 #SELECT SUB_STR_LENGTH, SUB_STR_SPLIT0, STR;
 END
调用实例
CREATE DEFINER=`root`@`%` PROCEDURE `test`()
 BEGIN
 #目标字符串
 set @a = ’1,2,3,4,5,6,12‘;
 # 分隔符
 set @c = ',';
 # 存储风格后的字符串
 set @b = '';
REPEAT
     # 调用上面的存储过程
     CALL SPLIT_SUB_STR0(@a, ',', @c);
     #将取得的字符串拼接,测试用
     set @b = concat(@b, @c);
 #当目标字符串为空时,停止循环
 UNTIL @a = ''
 END REPEAT;
 # 查看结果
 select @a, @c, @b;
END;
【编辑推荐】
MySQL replace函数替换字符串
MySQL大表重复字段的查询方法
mysql查询大小写问题
MYSQL查询重复记录的方法
MySQL随机查询的实现方法
分享文章:MySQL分割字符串的实现
当前路径:http://jxruijie.cn/article/dpjseeo.html

 
                