Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Genera dati di test temporali di SQL Server 2008 casuali

Ci sono 86.400.000 millisecondi in un giorno, quindi puoi ottenere un valore temporale casuale in questo modo:

select dateadd(millisecond, cast(86400000 * RAND() as int), convert(time, '00:00'))

Per il tuo esempio in cui desideri orari compresi tra le 8:00 e le 9:00, ci sono 3.600.000 millisecondi in un'ora, quindi modifica la query in questo modo.

select dateadd(millisecond, cast(3600000 * RAND() as int), convert(time, '08:00'))

Per inserire la tua nuova tabella, potresti eseguire un ciclo T-SQL con aggiornamenti (s...l...o...w...), oppure eseguire un SELECT INTO dalla tabella originale in una nuova tabella.