sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag fylla en kolumn med slumptal i SQL? Jag får samma värde i varje rad

Istället för rand() , använd newid() , som räknas om för varje rad i resultatet. Det vanliga sättet är att använda kontrollsummans modulo. Observera att checksum(newid()) kan producera -2 147 483 648 och orsaka heltalsspill på abs() , så vi måste använda modulo på checksummans returvärde innan vi konverterar det till ett absolut värde.

UPDATE CattleProds
SET    SheepTherapy = abs(checksum(NewId()) % 10000)
WHERE  SheepTherapy IS NULL

Detta genererar ett slumptal mellan 0 och 9999.



  1. PostgreSQL Crosstab Query

  2. Minimal loggning med INSERT...SELECT in heap-tabeller

  3. Hur man säkerhetskopierar/exporterar MySQL-databas med PHP

  4. Hur skickar man e-post från SQL Server?