SQL Server: заполнить столбец случайными десятичными числами - PullRequest
9 голосов
/ 17 декабря 2011

Я хочу, чтобы моя функция генерировала числа с плавающей точкой (например: -123.000, 874.000) в диапазоне (например, между: 272 и 3357) и обновляла поле "pos_x" каждой записи уникальными числами с плавающей точкой.Я пишу этот код, но вижу, что все поля моей таблицы идентичны, а также целые, и они положительные.

это мой код:

UPDATE Driver_tbl
SET pos_x = (ROUND((RAND()* 10000),0))

1 Ответ

13 голосов
/ 17 декабря 2011

RAND оценивается один раз за запрос

Вы можете заполнить его так, используя CHECKSUM(NEWID()), поэтому он случайный для строки

UPDATE Driver_tbl
SET pos_x = ROUND(RAND(CHECKSUM(NEWID())) * (3357-272),0) + 272

Однако вы также можете вырезать среднего человека, если вы используете ROUND (.., 0)

UPDATE Driver_tbl
SET pos_x = ABS(CHECKSUM(NEWID())) % 9999
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...