블로그 이미지
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

2009. 11. 16. 14:03 MSSQL

rand()란 무작위 함수는 0과 1을 포함하여 0과 1 사이의 float 값을 반환한다.

동일한 초기값으로 RAND()를 반복 호출하면 동일한 결과를 반환한다

seed를 지정하지 않으면 Microsoft SQL Server 2005 데이터베이스 엔진은 임의로 초기값을 할당합니다.

지정된 초기값에 대해 반환된 결과는 항상 동일합니다

 

NEWID()
NEWID()는 진정으로 유일한 16바이트 바이너리 값을 제공한다. 거의 무작위에 가깝다.
NEWID()는 16바이트 바이너리 값이다. 이 값은 유일하며 세상 어느 컴퓨터도 똑같은 값을 만들지 않는다.
NEWID()는 서버의 네트워크 카드의 MAC 주소 + 애플리케이션 또는 쿼리를 돌리는 컴퓨터의 시계로부터 얻은 유일한 값의 조합이다.
NEWID()는 유일한 값을 얻고자 할 때 매우 유용하다.
알파벳과 숫자로 이뤄진 문자열이 아닌 숫자를 셀 때 쓰는 정수가 필요하다면, checksum(newid())와 abs(checksum(newid()))을 쓰면 된다

ex)
SELECT newid() AS 'New id',   
    CHECKSUM(newid()) AS 'Checksum1',   
 abs(CHECKSUM(newid())) AS 'Checksum2'
posted by Sunny's