오라클의 패키지 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+
오라클 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 |
댓글 영역