sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik een kolom vullen met willekeurige getallen in SQL? Ik krijg dezelfde waarde in elke rij

In plaats van rand() , gebruik newid() , die voor elke rij in het resultaat opnieuw wordt berekend. De gebruikelijke manier is om de modulo van de controlesom te gebruiken. Merk op dat checksum(newid()) kan -2.147.483.648 produceren en integer overflow veroorzaken op abs() , dus we moeten modulo gebruiken op de checksum-retourwaarde voordat we deze naar absolute waarde converteren.

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

Dit genereert een willekeurig getal tussen 0 en 9999.



  1. Hoe kan ik alle kolommen in een tabel doorzoeken?

  2. Bereken uw SQL Server Monitoring Total Cost of Ownership

  3. Verschil tussen sys.sql_modules, sys.system_sql_modules en sys.all_sql_modules in SQL Server

  4. MySQL-gebruikersdatabase heeft geen wachtwoordkolommen - MySQL installeren op OSX