sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man uppdaterar rader med ett slumpmässigt datum

Använd detta för att generera en liten datumtid mellan 1 januari 1900 och 6 juni 2079 (ej markerad, SQL inte installerad)

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

NEWID är bättre än att försöka använda RAND:RAND genererar inte olika värderad i en enda SELECT eller UPDATE (det gjorde det inte i SQL 2000, om beteendet har ändrats).

Edit:så här

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

Edit:ändrade 65535 till 65530 och lade till ABS för att undvika översvämning vid övre gränsen för intervallet



  1. Övervakning av tillgänglighet Grupprepliksynkronisering

  2. Upptäck PL/SQL-paketnivåtyper med hjälp av Oracle-ordboksvyer

  3. android.database.sqlite.SQLiteException:nära s:syntaxfel (kod 1):,

  4. Skillnaden mellan LIKE och =i MYSQL?