Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога да попълня колона с произволни числа в SQL? Получавам една и съща стойност във всеки ред

Вместо rand() , използвайте newid() , което се преизчислява за всеки ред в резултата. Обичайният начин е да използвате модула на контролната сума. Обърнете внимание, че checksum(newid()) може да произведе -2,147,483,648 и да причини преливане на цяло число в abs() , така че трябва да използваме modulo за връщаната стойност на контролната сума, преди да я преобразуваме в абсолютна стойност.

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

Това генерира произволно число между 0 и 9999.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да имам външен ключ, препращащ колона в изглед в SQL Server?

  2. Избройте акаунтите, свързани с пощенски профил на база данни в SQL Server

  3. Имената на файлове на SQL Server спрямо версиите

  4. Изпит за администриране на Azure SQL база данни със съвети и съвети (DP-300)

  5. Как да премествате файлове с данни в SQL Server – част 1