[함수] mysql 문자열을 구분자로 구분해서 처리시 관련 함수
문자열을 구분자로 구분해서 처리시 필요해서 만들어 봤습니다.
문자열을 구분자로 읽는 함수
CREATE DEFINER=`%`@`localhost` FUNCTION `F_SPLIT_STRING`(`nStr` TEXT, `nDelim` VARCHAR(4), `nPos` INT)
RETURNS TEXT
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '문자열을 구분자로 해당열 가져오기'
BEGIN
DECLARE sStr1 TEXT;
DECLARE sStr2 TEXT;
SET sStr1 = SUBSTRING_INDEX(nStr, nDelim, nPos);
SET sStr2 = SUBSTRING_INDEX(sStr1, nDelim, -1);
RETURN sStr2;
END
사용법 : select F_SPLIT_STRING('a,b,c',',',2);
결과 : b
-----------------------------------------------------------------------------------
CREATE DEFINER=`%`@`localhost` FUNCTION `F_ARRAY_LEN`(`nStr` TEXT, `nDelim` VARCHAR(4))
RETURNS int(11)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '특정문자로 배열을 나눌때 배열의 수'
BEGIN
DECLARE sLen1 INT;
DECLARE sLen2 INT;
DECLARE sLen INT;
set sLen1 = length(nStr);
set sLen2 = length(replace(nStr,nDelim,''));
set sLen = sLen1 - sLen2 + 1;
RETURN sLen;
END
사용법 : select F_ARRAY_LEN('a,b,c',',');
결과 : 3
출처 phpschool
'개발-데이터베이스' 카테고리의 다른 글
[함수] Mysql To mongodb (0) | 2016.03.30 |
---|