메뉴 건너뛰기

Dev tips

DataBase mysql split 함수 (split_str)

taknim 2017.03.14 16:48 조회 수 : 28

[split 함수]

 

DELIMITER $$

 

DROP FUNCTION IF EXISTS `split_str`$$

CREATE FUNCTION `split_str`(
    str TEXT,
    del VARCHAR(1),
    idx INT
) RETURNS text CHARSET utf8
BEGIN
    /**
        문자열에서 특정값으로 배열을 잘라주는 함수 (없으면 빈문자열을 리턴함)
        str: 해당 문자열
        del: 구분자 
        idx: 구분자로 구분한 위치 (1부터 시작함)        
    **/
    RETURN SUBSTR(SUBSTRING_INDEX(str, del, idx),LENGTH(SUBSTRING_INDEX(str, del, idx - 1)) + IF(idx > 1, 2, 1));
END$$

 

DELIMITER ;

 

[작동 확인]

SELECT split_str('a|b|c', '|', 1);
SELECT split_str('a|b|c', '|', 2);