select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01')
BEWERKEN
Als dit moet worden uitgevoerd als onderdeel van een instructie die meerdere rijen retourneert of als onderdeel van update, zou de RAND() een enkele waarde retourneren voor de hele resultatenset. In dat geval kan RAND(CHECKSUM(NEWID())) worden gebruikt.
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'