* MS-SQL에서 난수를 발생시키고자 할 경우..
RAND() 함수를 활용하여야 한다. 아니면 직접 랜덤으로 숫자를 뽑을 수 있게 처리 하여야 할 것이다.
RAND() 함수를 사용하여 난수를 발생 시키고자 한다면..
1. 범위 값을 지정할 경우...
DECLARE @l_S_LIMIT INT, /* 범위 시작 */
@l_E_LIMIT INT /* 범위 마지막 */
SET @l_S_LIMIT = 10
SET @l_E_LIMIT = 100
SELECT ROUND( (@l_E_LIMIT - @l_S_LIMIT + 1) * RAND() + @l_S_LIMIT , 0, 1)
10에서 100 사이의 값을 무작위로 반환하게 된다.
즉 숫자는 10과 100을 제외한 11 ... 99의 값이 된다.
만약 범위 값을 포함 시키고자 한다면
SELECT ROUND( ( (@l_E_LIMIT + 1) - @l_S_LIMIT ) * RAND() + @l_S_LIMIT , 0, 1)
이렇게 해주면 10과 100을 포함한 10 ... 100 의 값이 된다.
ROUND를 사용하지 않고 타입을 INT로 캐스팅 하여도 된다.
ROUND에서 3번째 매개변수에 1 값은 반올림 하지않고 반환하게 하기 위함이다.
ROUND에 대해서는 온라인 도움말을.. ^__^
'DataBase > MS-SQL' 카테고리의 다른 글
MS-SQL .. ORACLE 의 TRUNC 따라 하기.. (0) | 2007.12.04 |
---|---|
MS-SQL 특정 문자로 채워넣기.. (0) | 2007.12.04 |
[MSSQL] 날짜 형식 변환 (0) | 2007.09.04 |
MS-SQL에서 Stored Procedure 내용 검색... (0) | 2007.08.24 |