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

Hvordan kan jeg fylde en kolonne med tilfældige tal i SQL? Jeg får den samme værdi i hver række

I stedet for rand() , brug newid() , som genberegnes for hver række i resultatet. Den sædvanlige måde er at bruge kontrolsummens modulo. Bemærk, at checksum(newid()) kan producere -2.147.483.648 og forårsage heltalsoverløb på abs() , så vi skal bruge modulo på checksum returværdien, før vi konverterer den til absolut værdi.

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

Dette genererer et tilfældigt tal mellem 0 og 9999.



  1. hvordan kan man sammenkæde mere end to kolonner i plsql-udvikler?

  2. SQLAlchemy ingen adgangskode angivet fejl

  3. org.postgresql.util.PSQLEundtagelse:Store objekter må ikke bruges i auto-commit-tilstand

  4. TSQL PIVOT FLERE KOLONNER