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
castte 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.