(will return random 50% of rows) select * from table where sin(rand (datepart( ms , getDate())) * [rowIdenity]) > 0 (or to randomly sort) select * from table order by sin(rand (datepart( ms , getDate())) * [rowIdenity]) (or select random 25%) select top 25 percent * from table order by sin(rand (datepart( ms , getDate())) * [rowIdenity]) select random numbers from 10-100 in steps of 10 cast (sin(rand (datepart( ms , getDate())) * [rowIdenity]) * 10.1 as int) * 10