프로그래밍 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

DBMS_RANDOM.NORMAL의 실행 결과

 

 

 

RANDOM

 

RANDOM 함수는 -(2의 31제곱) 보다 크거나 같고 (2의 31제곱) 보다 작은 임의의 정수를 생성하는 함수입니다.

SELECT DBMS_RANDOM.RANDOM AS RANDOM_NUM FROM DUAL

 

DBMS_RANDOM.RANDOM 의 실행 결과

 

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

DBMS_RANDOM.STRING 실행결과1

SELECT DBMS_RANDOM.STRING('P', 20) FROM DUAL

DBMS_RANDOM.STRING 실행결과2

 

VALUE

 

VALUE 함수는 지정된 범위 내에서 임의의 숫자를 생성합니다. 만약 범위가 지정되지 않는다면 기본값인 0과 1 사이의 숫자를 생성하게 됩니다.

 


SELECT DBMS_RANDOM.VALUE(LOW, HIGH) FROM DUAL

SELECT DBMS_RANDOM.VALUE(-1, 3) FROM DUAL

DBMS_RANDOM.VALUE 실행결과

 

 

 

 

 

 

반응형