DATABASE/ORACLE 기본

[Oracle] 오라클 랜덤 생성 함수 DBMS_RANDOM

ThinkFree 2022. 6. 14. 20:08

 

DBMS_RANDOM()

 - DBMS_RANDOM() 사용하면 오라클로 랜덤 한 수나 문자열을 생성할 수 있습니다.

 - DBMS_RANDOM() 패키지에는 NOMAL, RANDOM, STRING, VALUE 등이 있습니다.

 

 

 

DBMS_RANDOM() 문법

SELECT DBMS_RANDOM.NORMAL,
       DBMS_RANDOM.RANDOM,
       DBMS_RANDOM.STRING(옵션, 길이),
       DBMS_RANDOM.VALUE(최소, 최대)
 FROM DUAL;

 

 

 

DBMS_RANDOM() 테스트(https://livesql.oracle.com/)

1) NOMAL

- DBMS_RANDOM.NORMAL을 사용하면 표준정규분포(가우스 분포)에서 랜덤한 값을 가져옵니다. 

 

 

 

2) RANDOM

- DBMS_RANDOM.RANDOM-2의 31 제곱보다 크고 2의 31 제곱보다 작은 정수를 생성하여 가져옵니다.

 

 

 

3) STRING

- DBMS_RANDOM.STRING은 옵션과 함께 숫자를 파라미터로 적어 넣으면, 임의의 문자열을 원하는 길이로 생성해줍니다. 옵션의 종류는 아래와 같습니다.

 

옵션 내용
U, u 대문자 알파벳
L, l 소문자 알파벳
A, a 대소문자 구분없는 모든 알파벳
X, x 모든 알파벳과 숫자
P, p 특수문자를 포함한 모든 문자열

 

 

 

4) VALUE

- DBMS_RANDOM.VALUE는 두 개의 숫자 파라미터 범위 내의 임의의 숫자를 가져옵니다. 범위를 지정하지 않으면 0에서 1 사이의 값을 가져옵니다.

 

 

+ 0 ~ 10 사이의 랜덤한 자연수 가져오는 방법

- VALUE에서 범위를 지정하지 않은 상태로 10을 곱한 후에 반올림 한수 ROUND()를 사용해준다.

 

++ 오라클 반올림 함수 ROUND()(https://javabuilders.tistory.com/58)