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

Como atualizar linhas com uma data aleatória


Use isso para gerar um smalldatetime entre 01 de janeiro de 1900 e 06 de junho de 2079 (não marcado, SQL não instalado)
DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)

NEWID é melhor do que tentar usar RAND:RAND não gera linhas de valores diferentes em um único SELECT ou UPDATE (bem, não no SQL 2000, caso o comportamento tenha mudado).

Editar:assim
UPDATE
  table
SET
  datetimecol = DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)

Edit:alterado 65535 para 65530 e adicionado ABS para evitar estouro no limite superior do intervalo