MySQL实现分割字符串

记录一下

SELECT
	a.id,
	a. NAME,
	substring_index(
		substring_index(
			a.shareholder,
			',',
			b.help_topic_id + 1
		),
		',' ,- 1
	) AS shareholder
FROM
	company a
JOIN mysql.help_topic b ON b.help_topic_id < (
	length(a.shareholder) - length(
		REPLACE (a.shareholder, ',', '')
	) + 1
)

还可以写MySQL function

不过这个是根据下标获取对应值的方法,目前还没有找到对应的可以获取全部的方法

DELIMITER $$ 
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$$ 

你可能感兴趣的:(MySQL)