Het probleem OP had tijdens het gebruik van slechts rand()
is vanwege de evaluatie eenmaal per zoekopdracht .
Van de documentatie :
Benadering die hieronder wordt beschreven verwijdert optimalisatie en onderdrukt dit gedrag, dus rand()
wordt eenmaal per rij geëvalueerd :
dateadd( second
, rand(cast(newid() as varbinary)) * 43200
, cast('08:00:00' as time) )
newid()
genereert een unieke waarde van het typeuniqueidentifier
;- de waarde wordt geconverteerd met
cast
te gebruiken als zaad inrand([seed])
functie om een pseudo-willekeurigefloat
. te genereren waarde van 0 tot 1 , en als zaad is altijd uniek de terugkerende waarde is ook uniek.