Я отвечал на вопрос здесь и запустил мою SSMS, чтобы протестировать небольшой запрос перед его публикацией, но получил некоторые странные результаты. Вот запрос:
UPDATE Person
SET Pos_X = Rand()
, Pos_Y = Rand(id)
SELECT ID, Surname, Forename, Pos_X, Pos_Y FROM Person
А вот и результат:
1 Bloggs Fred 0.332720913214171 0.713591993212924
2 Doe Jane 0.332720913214171 0.713610626184182
3 Smith Mary 0.332720913214171 0.71362925915544
4 Jones Martha 0.332720913214171 0.713647892126698
5 Jones Martha 0.332720913214171 0.713666525097956
6 Jones Martha 0.332720913214171 0.713685158069215
7 Jones Martha 0.332720913214171 0.713703791040473
8 Jones Martha 0.332720913214171 0.713722424011731
9 Jones Martha 0.332720913214171 0.713741056982989
Как я и ожидал, Рэнд без начального числа поместил один и тот же результат в каждую строку, но я надеялся, что ранд с начальным числом (например, числа от 1 до 9) будет лучше, чем упорядоченный список в пределах 0,0002 друг от друга. !
Вы получаете то же самое? Это звучит как что-то, что может застать врасплох.
Как я уверен, это будет актуально:
@@Version = 'Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1) '