Mysql实现split函数——支持多字符分割
分割出多少个字符串split_count(str,delimiter)
DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `split_count`( f_string varchar(1000),f_delimiter varchar(100) ) RETURNS int(11) BEGIN return 1+(length(f_string) - length(replace(f_string,f_delimiter,""))) / length(f_delimiter); END$$ DELIMITER ;
获取分割出的第n个字符串split(str,delimiter,n),n从1开始,当n大于split_count时返回空字符串
DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `split`( f_string varchar(1000),f_delimiter varchar(100),f_order int) RETURNS varchar(1000) CHARSET utf8 BEGIN declare result varchar(1000) default ""; set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),reverse(f_delimiter),1)); return result; END$$ DELIMITER ;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2