Monday, August 20, 2012

Split String function in MySQL


DROP FUNCTION IF EXISTS SPLIT_STR;
CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

SELECT SPLIT_STR(string, delimiter, position);

Example :
SELECT SPLIT_STR('a|bb|ccc|dd', '|', 3) as third;
// Below script tag for SyntaxHighLighter