Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment mettre à jour des lignes avec une date aléatoire

Utilisez ceci pour générer une petite date/heure entre le 01 janvier 1900 et le 06 juin 2079 (non coché, SQL non installé)

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

NEWID est mieux que d'essayer d'utiliser RAND :RAND ne génère pas de lignes de valeurs différentes dans un seul SELECT ou UPDATE (enfin, ce n'était pas le cas dans SQL 2000, au cas où le comportement aurait changé).

Édit :comme ceci

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

Edit :modification de 65535 en 65530 et ajout de l'ABS pour éviter le débordement à la limite supérieure de la plage