Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So aktualisieren Sie Zeilen mit einem zufälligen Datum

Verwenden Sie dies, um eine Smalldatetime zwischen dem 01.01.1900 und dem 06.06.2079 zu generieren (nicht markiert, SQL nicht installiert)

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

NEWID ist besser als der Versuch, RAND zu verwenden:RAND generiert keine Zeile mit unterschiedlichen Werten in einem einzelnen SELECT oder UPDATE (in SQL 2000 nicht, falls sich das Verhalten geändert hat).

Edit:so

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

Bearbeiten:65535 in 65530 geändert und ABS hinzugefügt, um einen Überlauf an der oberen Bereichsgrenze zu vermeiden