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