Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Gerar dados de teste de tempo aleatórios do SQL Server 2008


Há 86.400.000 milissegundos em um dia, então você pode obter um valor de tempo aleatório fazendo isso:

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

Para o seu exemplo em que você deseja horários entre 8h e 9h, há 3.600.000 milissegundos em uma hora, portanto, modifique a consulta assim.

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

Para colocar em sua nova tabela, você pode fazer um loop T-SQL com atualizações (s...l...o...w...), ou fazer um SELECT INTO da sua mesa original para uma nova mesa.