На днях была необходимость перемешать посты в базе по дате. Нашел следующий скрипт на просторах интернета:

CREATE FUNCTION [GenerateRandomDateTime]
    (
      @StartDate DateTime,
      @EndDate DATETIME 
    )
RETURNS DATETIME
AS BEGIN
   
    --DECLARE VARIABLES
    DECLARE @RandomDateTime DATETIME
    DECLARE @RandomNumber FLOAT
    DECLARE @IntervalInDays INT ;
     
    SET @IntervalInDays = CONVERT(INT, @EndDate - @StartDate)
    SET @RandomNumber = ( SELECT    [RandNumber]
                          FROM      [RandNumberView]
                        )
                         
    SELECT  @RandomDateTime = DATEADD(ss, @RandomNumber * 86400,
                                      DATEADD(dd,
                                              @RandomNumber * @IntervalInDays,
                                              @StartDate))
 
     
    RETURN @RandomDateTime
 
   
   END
GO
 
CREATE VIEW [RandNumberView]
AS  SELECT  RAND() AS [RandNumber]
 
GO

Пример использования:

select dbo.[GenerateRandomDateTime]('2011-01-01','2013-01-01')

Хороших и быстрых вам скриптов :)