상세 컨텐츠

본문 제목

랜덤한 숫자/문자 생성 (DBMS_RANDOM 활용)

프로그래밍/Oracle

by ........? 2012. 6. 19. 15:59

본문

오라클의 패키지 dbms_random은 랜덤한 숫자/문자를 만들어 주는 기능을 제공한다.
이는 랜덤한 패스워드, 추첨번호 등에 응용할 수 있겠다.
DB단에서 생성되므로 외부의 로직(웹,APP,..)에 대한 의존성을 없앨 수 있는 장점이 있겠다.

패키지생성: /rdbms/admin/dbmsrand.sql
패키지 : DBMS_RANDOM

DBMS_RANDOM 패키지내 함수
RANDOM : 랜덤한 숫자 생성
VALUE : 랜덤한 숫자 생성(지정한 범위에서, 디폴트: 0-1)
STRING : 랜덤한 문자열 생성(문자열의 구성은 첫번째 인수값으로 지정.)

 

SELECT DBMS_RANDOM.STRING('X', 10)

 

첫번째 인수값
U - 대문자
L - 소문자
A - 대소문자 혼합
X - 대문자 + 숫자
P - 출력가능한 문자로만(" _ ? A a / 등 전부)

 

두번째 인수값 - 문자열길이 지정

 


 

★★★★예

SQL> select dbms_random.random from dual; 랜덤한 숫자 출력(양수/음수)
712490986 or -265131627

 

SQL> select dbms_random.value from dual; 랜덤한 숫자 출력(0~1사이)
.479131147

 

SQL> select dbms_random.value(1,1000) random from dual; 1~1000사이의 숫자
727


SQL> select dbms_random.value(100000000000, 999999999999) random from dual;
314598161006

 

SQL> select dbms_random.string('U', 20) str from dual; 대문자로 된 랜덤한 문자열
MAFMGVJVTUTCYJMCVJOP


SQL> select dbms_random.string('L', 20) str from dual; 소문자로 된 랜덤한 문자열
ntpmvektqqgytitlmabi


SQL> select dbms_random.string('A', 20) str from dual; 대/소문자로 된 랜덤한 알파뉴메릭(문자/숫자)
jhsVWesqaKAJbKuPJeLu


SQL> select dbms_random.string('X', 20) str from dual; 대문자로 된 랜덤한 알파뉴메릭(문자/숫자)
GMRG5IJFEIEI0E0YCG9C


SQL> select dbms_random.string('P', 20) str from dual;
}t.OY)Sh6AiEq4L>=-K+

'프로그래밍 > Oracle' 카테고리의 다른 글

오라클 EXISTS, NOT EXISTS 함수  (1) 2012.09.07
테이블에 칼럼 추가/삭제  (0) 2012.08.08
오라클 ROW_NUMBER()  (0) 2012.06.07
오라클 SUBSTR, INSTR  (0) 2012.06.07
UPDATE 문  (0) 2012.06.04

관련글 더보기

댓글 영역