sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan opdaterer du rækker med en tilfældig dato

Brug dette til at generere en smalldatetime mellem 1. januar 1900 og 06. juni 2079 (ikke markeret, SQL ikke installeret)

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

NEWID er bedre end at prøve at bruge RAND:RAND genererer ikke forskellige værdier i en enkelt SELECT eller UPDATE (det gjorde den ikke i SQL 2000, hvis adfærden har ændret sig).

Edit:sådan her

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

Rediger:ændrede 65535 til 65530 og tilføjede ABS for at undgå overløb ved øvre grænse for rækkevidde



  1. Hvordan laver jeg en masseindsættelse i mySQL ved hjælp af node.js

  2. Få alle forældre til et barn

  3. Indsæt hvis det ikke findes, ellers returner id i postgresql

  4. Magicbricks migrerer til MariaDB for at understøtte dets højvolumentrafik