블로그 이미지
Sunny's

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

'쿠폰번호'에 해당되는 글 1

  1. 2010.03.22 MS-SQL에서 난수를 발생시키고자 할 경우
2010. 3. 22. 18:01 MSSQL
* 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에 대해서는 온라인 도움말을.. ^__^

쿠폰번호 생성
      SELECT   replace(newid(), '-','') as '쿠폰번호'



posted by Sunny's
prev 1 next