DBMS_RANDOM.STRING은 우리가 무작위로 재미있는 문자열(글자들을 조합한 것)을 만들 수 있게 해줍니다.
예를 들어, 이 도구를 사용하면 우리가 원하는 길이와 타입의 무작위 글자를 뽑아줘요.
어떻게 사용하나요?
1. 대문자 무작위 글자 만들기 (U)
: 대문자 10개를 무작위로 만들기 예시. 이렇게 하면 "ABCDEFGHIJ" 같은 문자열이 나올 수 있어요.
SELECT DBMS_RANDOM.STRING('U', 10) AS random_string FROM dual;
2. 소문자 무작위 글자 만들기 (L)
: 소문자 15개를 무작위로 만들기 예시. 이렇게 하면 "abcdefghijklmnopq" 같은 문자열이 나올 수 있어요.
SELECT DBMS_RANDOM.STRING('L', 15) AS random_string FROM dual;
3. 대소문자 혼합 무작위 글자 만들기 (A)
: 대소문자가 섞인 12개 글자를 만들기 예시, 이렇게 하면 "AbCdEfGhIjKl" 같은 문자열이 나올 수 있어요.
SELECT DBMS_RANDOM.STRING('A', 12) AS random_string FROM dual;
4. 숫자와 대문자가 섞인 무작위 글자 만들기 (X)
: 숫자와 대문자가 섞인 8개 글자를 만들기 예시. 이렇게 하면 "A1B2C3D4" 같은 문자열이 나올 수 있어요.
SELECT DBMS_RANDOM.STRING('X', 8) AS random_string FROM dual;
5. 출력 가능한 모든 문자 무작위로 만들기 (P)
: 모든 출력 가능한 문자 20개를 무작위로 만들기. 이렇게 하면 "!@#%aBc123XYZ*()&" 같은 문자열이 나올 수 있어요.
SELECT DBMS_RANDOM.STRING('P', 20) AS random_string FROM dual;
테스트: 프로그램이 제대로 작동하는지 확인하기 위해 무작위 데이터를 생성할 때 사용해요.
모의 데이터: 실험용 데이터를 만들 때 사용해요.
데이터 숨기기: 실제 중요한 데이터를 감추기 위해 무작위 데이터를 생성할 때 사용해요.
[ 일괄 테스트 ]
SELECT DBMS_RANDOM.STRING( 'u', 10) as col1-- 대문자
, DBMS_RANDOM.STRING( 'l', 10) as col2-- 소문자
, DBMS_RANDOM.STRING( 'a', 10) as col3-- 대문자 + 소문자
, DBMS_RANDOM.STRING( 'x', 10) as col4-- 대문자 + 숫자
, DBMS_RANDOM.STRING( 'p', 10) as col5-- 출력가능한 모든 문자
FROM DUAL;
※ 참고
DBMS_RANDOM.STRING( 'U', ~ ) 에서 첫번째 인수로 대입되는 명칭의 풀네임은 아래와 같아요.
이해하면서 외우면 편해서 넣습니다.
1. U - upper case alpha characters only : 'u', 'U'
: 대문자 알파벳 문자 (A-Z)만을 포함하는 문자열을 생성
2. L - lower case alpha characters only : 'l', 'L'
: 소문자 알파벳 문자 (a-z)만을 포함하는 문자열을 생성
3. A - alpha characters only (mixed case) : 'a', 'A'
: 대문자와 소문자 알파벳 문자 (A-Z, a-z)를 포함하는 문자열을 생성
4. X - any alpha-numeric characters (upper) : 'x', 'X'
: 대문자 알파벳 문자 (A-Z)와 숫자 (0-9)를 포함하는 문자열을 생성
5. P - any printable characters: 'p', 'P'
: 출력 가능한 모든 ASCII 문자 (알파벳, 숫자, 기호 등)를 포함하는 문자열을 생성