sql >> Database >  >> RDS >> Sqlserver

Hoe rijen met een willekeurige datum te updaten

Gebruik dit om een ​​smalldatetime te genereren tussen 01 jan 1900 en 06 jun 2079 (niet aangevinkt, SQL niet geïnstalleerd)

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

NEWID is beter dan proberen RAND te gebruiken:RAND genereert geen rij met verschillende waarden in een enkele SELECT of UPDATE (nou ja, dat deed het niet in SQL 2000, voor het geval het gedrag is veranderd).

Bewerken:zoals dit

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

Bewerken:65535 gewijzigd in 65530 en ABS toegevoegd om overloop bij de bovengrens van het bereik te voorkomen



  1. Migratie van SQL-databases met opdrachtregel

  2. Java JDBC Toegang geweigerd voor gebruiker

  3. Waarom maak je een View in een database?

  4. Retourneer de n-de record van MySQL-query