sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu vyplnit sloupec náhodnými čísly v SQL? Dostanu stejnou hodnotu v každém řádku

Místo rand() , použijte newid() , která se přepočítává pro každý řádek ve výsledku. Obvyklým způsobem je použití modulo kontrolního součtu. Všimněte si, že checksum(newid()) může vytvořit -2 147 483 648 a způsobit přetečení celého čísla na abs() , takže musíme použít modulo na návratovou hodnotu kontrolního součtu, než ji převedeme na absolutní hodnotu.

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

Tím se vygeneruje náhodné číslo mezi 0 a 9999.



  1. Základy paralelního programování s rámcem Fork/Join v Javě

  2. Zacházení s datem a časem namísto datetime

  3. Rozdíl mezi datovým typem float a decimální

  4. Přicházejí nové funkce Microsoft Access!