DBMS_RANDOM

DBMS_RANDOM 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명합니다.

개요

DBMS_RANDOM은 임의의 숫자를 생성하는 기능을 제공합니다.

프러시저와 함수

본 절에서는 DBMS_RANDOM 패키지에서 제공하는 프러시저와 함수를 알파벳 순으로 설명합니다.

NORMAL

표준 정규 분포(가우스 분포)에서의 임의값을 추출하는 함수입니다.

NORMAL 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

DBMS_RANDOM.NORMAL
RETURN NUMBER;
  • 예제

DECLARE
     a NUMBER;
BEGIN
     a := DBMS_RANDOM.NORMAL;
END;
/

RANDOM

-(2의 31제곱)보다 크거나 같고, 2의 31제곱보다 작은 임의의 정수를 생성합니다. RANDOM 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 예제

SEED

새로운 seed를 지정하여 임의값 생성 시퀀스를 새로 생성합니다. 기존과 동일한 seed를 지정하면 동일 시퀀스 내의 첫 번째 값으로 돌아가므로 매 호출 후 임의값을 추출하면 같은 값이 나옵니다.

SEED 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

– seed가 번호인 경우

– seed가 문자열인 경우

  • 파라미터

파라미터
설명

val

임의값을 생성할 seed 번호나 문자열

  • 예제

STRING

임의의 문자열을 생성합니다.

STRING 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

opt

생성하고 싶은 문자열의 형태이고, 항목은 아래와 같음

  • 'u' 또는 'U' : 대문자 알파벳의 문자열

  • 'l' 또는 'L' : 소문자 알파벳의 문자열

  • 'a' 또는 'A' : 대소문자 구분 없이 임의의 알파벳의 문자열

  • 'x' 또는 'X' : 임의의 대문자 알파벳 또는 숫자의 문자열

  • 'p' 또는 'P' : 임의의 출력 가능한 문자들의 배열

그 외의 값일 경우에는 기본적으로 대문자 알파벳의 문자열

len

생성할 문자열의 길이

  • 예제

VALUE

범위 내에서 임의의 숫자를 생성합니다. 범위가 지정되지 않은 경우는 0보다 크거나 같고 1보다 작은 숫자를 생성합니다.

VALUE 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

– 범위가 지정되지 않은 경우

– 범위가 지정된 경우

  • 파라미터

파라미터
설명

low

임의값 범위 내에서의 최솟값

high

임의값 범위 내에서의 최댓값은 이 값보다 크거나 같을 수 없음

  • 예제

Last updated