프로그래밍 PROGRAMMING/데이터베이스 DATABASE
[ORACLE] 랜덤 숫자 혹은 문자열 생성하기 : DBMS_RANDOM
매운할라피뇽
2021. 12. 20. 14:58
반응형
오라클 랜덤함수 DBMS_RANDOM 으로 랜덤한 수 혹은 문자열을 생성할 수 있습니다. DBMS_RANDOM 패키지는 몇 가지 기능을 제공합니다. 여기서는 NORMAL, RANDOM, STRING, VALUE 함수에 대해 다룹니다.
NORMAL
DBMS_RANDOM 패키지의 NORMAL 함수는 표준 정규분포(가우스분포)에서의 임의값을 리턴하는 함수입니다. 예를 들어 아래와 같이 일반 SQL 쿼리문에서 호출을 하면 다음과 같이 실행됩니다.
SELECT DBMS_RANDOM.NORMAL AS RANDOM_NUM FROM DUAL
RANDOM
RANDOM 함수는 -(2의 31제곱) 보다 크거나 같고 (2의 31제곱) 보다 작은 임의의 정수를 생성하는 함수입니다.
SELECT DBMS_RANDOM.RANDOM AS RANDOM_NUM FROM DUAL
STRING
STRING 함수는 임의의 문자열을 생성해주는 함수입니다. DBMS_RANDOM 패키지에서 STRING 함수는 OPTION과 LENGTH 두 가지의 파라미터 값으로 호출하도록 정의하고 있습니다.
OPTION | 생성하고자 하는 문자열의 형태 U 혹은 u : 대문자 알파벳의 문자열 L 혹은 l : 소문자 알파벳의 문자열 A 혹은 a : 대소문자 구분 없이 임의의 알파벳의 문자열 X 혹은 x : 임의의 대문자 알파벳 혹은 숫자의 문자열 P 혹은 p : 임의의 출력 가능한 문자들의 배열 그 외의 값이 경우에는 기본적으로 대문자 알파벳의 문자열임. |
LENGTH | 생성할 문자열의 길이 |
SELECT DBMS_RANDOM.STRING(OPTION, LENGTH) FROM DUAL
SELECT DBMS_RANDOM.STRING('X', 20) FROM DUAL
SELECT DBMS_RANDOM.STRING('P', 20) FROM DUAL
VALUE
VALUE 함수는 지정된 범위 내에서 임의의 숫자를 생성합니다. 만약 범위가 지정되지 않는다면 기본값인 0과 1 사이의 숫자를 생성하게 됩니다.
SELECT DBMS_RANDOM.VALUE(LOW, HIGH) FROM DUAL
SELECT DBMS_RANDOM.VALUE(-1, 3) FROM DUAL
반응형