mysql 문자열을 구분자로 구분해서 처리시 관련 함수

· 11년 전 · 3015

문자열을 구분자로 구분해서 처리시 필요해서 만들어 봤습니다. 

 

문자열을 구분자로 읽는 함수 

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 

|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
11년 전 조회 1,114
11년 전 조회 1,512
11년 전 조회 1,048
11년 전 조회 5,326
11년 전 조회 3,455
11년 전 조회 4,999
11년 전 조회 868
11년 전 조회 1,217
11년 전 조회 1,419
11년 전 조회 1,301
11년 전 조회 1,227
11년 전 조회 719
11년 전 조회 3,381
11년 전 조회 2,932
11년 전 조회 2,267
11년 전 조회 1,484
11년 전 조회 1,500
11년 전 조회 2,912
11년 전 조회 864
11년 전 조회 1,090
11년 전 조회 2,426
11년 전 조회 3,338
11년 전 조회 1,230
11년 전 조회 800
11년 전 조회 1,433
11년 전 조회 737
11년 전 조회 1,307
11년 전 조회 781
11년 전 조회 1,483
11년 전 조회 1,236
11년 전 조회 2,034
11년 전 조회 3,698
11년 전 조회 3,198
11년 전 조회 3,664
11년 전 조회 1,418
11년 전 조회 1,638
11년 전 조회 2,369
11년 전 조회 1,059
11년 전 조회 1,472
11년 전 조회 3,613
11년 전 조회 2,331
11년 전 조회 737
11년 전 조회 1,289
11년 전 조회 1,192
11년 전 조회 840
11년 전 조회 2,979
11년 전 조회 1,457
11년 전 조회 1,314
11년 전 조회 692
11년 전 조회 3,016
11년 전 조회 2,927
11년 전 조회 744
11년 전 조회 3,452
11년 전 조회 864
11년 전 조회 764
11년 전 조회 1,054
11년 전 조회 868
11년 전 조회 670
11년 전 조회 1,104
11년 전 조회 1,798
11년 전 조회 1,058
11년 전 조회 817
11년 전 조회 661
11년 전 조회 2,432
11년 전 조회 1,982
11년 전 조회 2,502
11년 전 조회 1,438
11년 전 조회 2,718
11년 전 조회 3,124
11년 전 조회 4,469
11년 전 조회 5,826
11년 전 조회 2,161
11년 전 조회 1,723
11년 전 조회 1,473
11년 전 조회 1,142
11년 전 조회 882
11년 전 조회 1,053
11년 전 조회 954
11년 전 조회 1,429
11년 전 조회 2,234
11년 전 조회 907
11년 전 조회 1,081
11년 전 조회 1,746
11년 전 조회 1,420
11년 전 조회 1,319
11년 전 조회 1,234
11년 전 조회 1,163
11년 전 조회 3,516
11년 전 조회 1,152
11년 전 조회 1,770
11년 전 조회 2,017
11년 전 조회 1,336
11년 전 조회 1,322
11년 전 조회 1,322
11년 전 조회 775
11년 전 조회 1,180
11년 전 조회 1,515
11년 전 조회 1,476
11년 전 조회 848
11년 전 조회 1,197
🐛 버그신고