- 파라미터로 전달받은 문자열 내에서 랜덤한 하나의 문자를 반환하는 함수를 구성해 봅니다.
💡 f_rand1 - 문자열 중에서 하나의 단어를 랜덤으로 반환해 주는 함수입니다.
1. 파라미터로 받은 값(_str)의 길이를 반환하는 변수(v_len)를 선언합니다.
2. 결과값(v_ret)으로 substring 함수를 통해 파라미터로 받은 값을 rand() 함수를 통해서 하나의 값만 반환받습니다.
3. 최종결과값(v_ret)을 반환합니다.
변수/파라미터 명
분류
타입
설명
_str
파라미터
VARCHAR(255)
하나의 랜덤한 문자열을 반환 받기 위해 랜덤한 문자열 파라미터
v_len
변수
VARCHAR(31)
문자열의 길이를 반환받는 변수
v_ret
변수
VARCHAR(31)
최종 결과값을 반환하는 변수
CREATE DEFINER=`localmaster`@`localhost` FUNCTION `f_rand1`(_str VARCHAR(255)) RETURNS VAHRCAHR(31) CHARSET utf8mb4
BEGINDECLARE v_ret VARCHAR(31);
DECLARE v_len TINYINT;
-- 파라미터로 받은 값(_str)의 길이를 반환하는 변수(v_len)를 선언합니다.SET v_len =CHAR_LENGTH(_str);
-- 결과값(v_ret)으로 substring 함수를 통해 파라미터로 받은 값을 rand() 함수를 통해서 하나의 값만 반환받습니다.SET v_ret =SUBSTRING(_str, CEIL(RAND() * v_len), 1);
-- 최종결과값(v_ret)을 반환합니다. RETURN v_ret;
END
- 파라미터로 문자열과 추출하려는 개수를 받아서 랜덤한 문자열을 반환받는 함수를 구성해 봅니다.
💡 f_randN
1. 파라미터로 받은 값(_str)의 길이를 반환하는 변수(v_len)를 선언합니다.
2. _n 번 반복하며 랜덤 한 문자를 추출합니다.
3. 최종결과값(v_ret)을 반환합니다.
변수/파라미터 명
분류
타입
설명
_str
파라미터
VARCHAR(255)
랜덤한 문자열을 반환 받기 위해 랜덤한 문자열 파라미터
_n
파라미터
INT
랜덤한 문자열에서 추출하려는 개수 파라미터
v_len
변수
VARCHAR(31)
문자열의 길이를 반환받는 변수
v_ret
변수
VARCHAR(31)
최종 결과값을 반환하는 변수
CREATE DEFINER=`localmaster`@`localhost` FUNCTION `f_randN`(_str VARCHAR(255), _n INT) RETURNSVARCHAR(255) CHARSET utf8mb4
BEGINDECLARE v_ret VARCHAR(255) DEFAULT'';
DECLARE v_len TINYINT;
DECLARE i INTDEFAULT0;
-- 1. 파라미터로 받은 값(_str)의 길이를 반환하는 변수(v_len)를 선언합니다.SET v_len =CHAR_LENGTH(_str);
-- 2. _n 번 반복하며 랜덤한 문자를 추출합니다.
WHILE i < _n DO
SET v_ret = CONCAT(v_ret, SUBSTRING(_str, CEIL(RAND() * v_len), 1));
SET i = i +1;
END WHILE;
-- 최종결과값(v_ret)을 반환합니다.RETURN v_ret;
END
- 함수 내에 성, 이름으로 사용되는 문자들을 정의하여 랜덤으로 추출하여 최종 하나의 이름으로 구성하는 함수를 구성해 봅니다.
💡 f_randname() 1. 이름이 들어가는 단어들(f_firsts) 변수와 성이 들어가는 단어들(v_lasts) 변수를 정의합니다.
2. f_rand1() 함수를 이용하여 이름(f_firsts), 성(v_lasts)의 하나의 값을 뽑습니다.
3. v_ret 결과값 변수에 하나씩 뽑은 값을 concat() 함수를 통해 조합하여 이름을 생성합니다.
4. 결과를 반환합니다.
변수/파라미터 명
분류
타입
설명
v_ret
변수
VARCHAR(31)
최종 결과값을 반환하는 변수
v_firsts
변수
VARCHAR(255)
이름에 들어갈 만한 문자들을 가지고 있는 변수
v_lasts
변수
VARCHAR(255)
성으로 사용될만한 문자들을 가지고 있는 변수
CREATE DEFINER=`localmaster`@`localhost` FUNCTION `f_randname`() RETURNSVARCHAR(31) CHARSET utf8mb4
DETERMINISTICBEGIN-- 이름이 들어가는 단어들(f_firsts)변수와 성이 들어가는 단어들(v_lasts)변수를 정의합니다.DECLARE v_ret VARCHAR(31);
DECLARE v_firsts VARCHAR(255) DEFAULT'이준시우서준하준도윤은우지호이안선우서아하윤아지안아윤시아서윤아린';
DECLARE v_lasts VARCHAR(255) DEFAULT'김이박최정강조윤장임';
-- f_rand1() 함수를 이용하여 이름(f_firsts), 성(v_lasts)의 하나의 값을 뽑습니다.-- v_ret 결과값 변수에 하나씩 뽑은 값을 concat() 함수를 통해 조합하여 이름을 생성합니다.SET v_ret = CONCAT(f_rand1(v_lasts), f_rand1(v_firsts), f_rand1(v_firsts));
-- 결과를 반환합니다.RETURN v_ret;
END