mysql 문자열을 구분자로 구분해서 처리시 관련 함수 정보
MySQL 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
0
댓글 0개