select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01')
संपादित करें
यदि इसे एक बयान के हिस्से के रूप में निष्पादित किया जाना है जो कई पंक्तियों या अद्यतन के हिस्से के रूप में देता है, तो रैंड() पूरे परिणाम के लिए एकल मान लौटाएगा। उस स्थिति के लिए 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'