select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01')
UPRAVIT
Pokud to má být provedeno jako součást příkazu, který vrací více řádků, nebo jako součást aktualizace, RAND() vrátí jednu hodnotu pro celou sadu výsledků. V takovém případě lze použít RAND(CHECKSUM(NEWID())).
select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01'),
DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(CHECKSUM(NEWID())), 0), '1950-01-01')
from master..spt_values where type = 'P'