보통 이벤트 응모 및 당첨시에 난수적인 표현 방법을 자주 이용해야 한다.
검색중에 좋은 글이 있어 정리해 봤다.
/*
난수발생시키기
출처: http://bluemir7.tistory.com/60
*/
declare @is_limit int -- 난수범위 시작 숫자
declare @ie_limit int -- 난수범위 끝 숫자
set @is_limit = 10
set @ie_limit = 100
select round(((@ie_limit - @is_limit + 1) * rand() + @is_limit), 0, 1) as randomNum
/*
randomNum
----------------------
73
*/
select round(((@ie_limit - @is_limit) * rand() + @is_limit), 0, 1) as randomNum
/*
randomNum
----------------------
28
*/
첫 번째, Query의 난수 범위는 11 ~ 99 이고
두 번째, Query의 난수 범위는 10 ~ 100 이다. 잘 이해가 되지 않는다면 직접 연습장을 들고 스스로 계산을 해보면 이해가 바로 될 것이다.
select replace(newid(),'-','') as '쿠폰번호'
/*
쿠폰번호
----------------------------------------------------
99696D759F614BE6A90A2A3A6523BA5E
*/ |
|