我正在回答一个问题hereabouts,并在发布它之前启动了我的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)  '

最佳答案

RAND (Transact SQL):



和:



(强调我的)

09-28 04:10