我試圖在1234和9999之間爲那些沒有密碼的行設置一個4位數的密碼。爲沒有它們的行生成隨機數
我的第一次嘗試使用下面的代碼。
begin tran
DECLARE @Lower int
DECLARE @Upper int
SET @Lower = 1234 -- Lowest password value
SET @Upper = 9999 -- Highest password value
update DestinationComparisons
set Password = ROUND(((@Upper - @Lower - 1) * RAND() + @Lower), 0)
where Password = '' or Password is null
commit tran
go
但是,這似乎給了我更新每行相同的4位數字。顯然,我想爲每一行輸入不同的密碼。
有人能幫我看看我失蹤了嗎?
rand()僅對每個查詢(例如, 'select rand(),sometable'中的somefield將始終爲每一行返回相同的rand值。你必須做一些事情,比如'select rand(id + time())'或者其他的強制每行都有一個新的種子。 –
有沒有辦法做我想做的事情? –
看到鏈接的愚蠢。 –