# [SQL SERVER] – GENERATE RANDOM DATETIME WITHIN A RANGE

> URL: https://crodrigues.com/sql-server-generate-random-datetime-within-a-range/  
> Author: Carlos Rodrigues  
> Published: 2012-06-22  
> Updated: 2026-10-21  
> Categories: Databases  
> Tags: date range  

_One of these days I had the need to obtain a random datetime inside a specified range, on SQL Server 2008+. After a few minutes…
Continue reading[SQL SERVER] – GENERATE RANDOM DATETIME WITHIN A RANGE_
One of these days I had the need to obtain a random datetime inside a specified range, on SQL Server 2008+.

After a few minutes I came up with this script:

```sql
DECLARE @DateFrom DATETime = '2012-01-01'
DECLARE @DateTo DATETIME = '2012-06-30'
DECLARE @DaysRandom Int= 0
DECLARE @MillisRandom Int=0

--get random number of days

select @DaysRandom= DATEDIFF(day,@DateFrom,@DateTo)
SELECT @DaysRandom = ROUND(((@DaysRandom -1) * RAND()), 0)

--get random millis
SELECT @MillisRandom = ROUND(((99999999) * RAND()), 0)

SELECT @DateTo = DATEADD(day, @DaysRandom, @DateFrom)
SELECT @DateTo = DATEADD(MILLISECOND, @MillisRandom, @DateTo)
SELECT @DateTo
```

Hope it’s useful.
