select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01')
РЕДАКТИРАНЕ
Ако това трябва да се изпълни като част от оператор, който връща множество редове или като част от актуализация, RAND() ще върне една стойност за целия набор от резултати. В този случай може да се използва 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'