sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo actualizar filas con una fecha aleatoria

Úselo para generar una fecha pequeña entre el 1 de enero de 1900 y el 6 de junio de 2079 (no marcado, SQL no instalado)

DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)

NEWID es mejor que tratar de usar RAND:RAND no genera una fila de valores diferentes en una sola SELECCIÓN o ACTUALIZACIÓN (bueno, no lo hizo en SQL 2000, en caso de que el comportamiento haya cambiado).

Editar:así

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

Editar:cambió 65535 a 65530 y agregó ABS para evitar el desbordamiento en el límite superior del rango