How To Generate Random Dates Between Two Date Range in SQL Server
Those who wants to generate random dates between two date ranges in SQL Server can use the following query:
DECLARE @FromDate DATETIME = DATEADD(DAY, -2, '2011-01-01')
DECLARE @ToDate DATETIME = DATEADD(DAY, -1, '2017-01-01')
DECLARE @Seconds INT = DATEDIFF(SECOND, @FromDate, @ToDate)
DECLARE @Random INT = ROUND(((@Seconds-1) * RAND()), 0)
DECLARE @Milliseconds INT = ROUND((999 * RAND()), 0)
SELECT DATEADD(MILLISECOND, @Milliseconds, DATEADD(SECOND, @Random, @FromDate))
Hope it works for you!
DECLARE @FromDate DATETIME = DATEADD(DAY, -2, '2011-01-01')
DECLARE @ToDate DATETIME = DATEADD(DAY, -1, '2017-01-01')
DECLARE @Seconds INT = DATEDIFF(SECOND, @FromDate, @ToDate)
DECLARE @Random INT = ROUND(((@Seconds-1) * RAND()), 0)
DECLARE @Milliseconds INT = ROUND((999 * RAND()), 0)
SELECT DATEADD(MILLISECOND, @Milliseconds, DATEADD(SECOND, @Random, @FromDate))
Hope it works for you!
Comments
Post a Comment