Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wygenerować losowe dane na serwerze SQL

Generowanie losowych danych nie jest zbyt trudne, nawet w SQL

Na przykład, aby uzyskać losową nazwę użytkownika z tabeli profili użytkowników.

BEGIN
-- get a random row from a table
DECLARE @username VARCHAR(50)
SELECT @username = [Username] FROM (
    SELECT ROW_NUMBER() OVER(ORDER BY [Username]) [row], [Username]
    FROM [UserProfile]
) t 
WHERE t.row = 1 + (SELECT CAST(RAND() * COUNT(*) as INT) FROM [UserProfile])

print(@username)
END

Aby wygenerować losową liczbę całkowitą...

BEGIN
-- get a random integer between 3 and 7 (3 + 5 - 1)
DECLARE @totalviews INT
SELECT @totalviews = CAST(RAND() * 5 + 3 as INT)
print(@totalviews)
END

Aby wygenerować losowy ciąg varchar

BEGIN
-- get a random varchar ascii char 32 to 128
DECLARE @videoname VARCHAR(160)
DECLARE @length INT
SELECT @videoname = ''
SET @length = CAST(RAND() * 160 as INT)
WHILE @length <> 0
    BEGIN
    SELECT @videoname = @videoname + CHAR(CAST(RAND() * 96 + 32 as INT))
    SET @length = @length - 1
    END
print(@videoname)
END

I wreszcie losowa data

BEGIN
-- get a random datetime +/- 365 days
DECLARE @uploadtime DATETIME
SET @uploadtime = GETDATE() + (365 * 2 * RAND() - 365)
print(@uploadtime)
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskiwanie Hibernate i SQL Server do przyjemnej zabawy z VARCHAR i NVARCHAR

  2. Jak utworzyć osadzony plik bazy danych SQL 2008, jeśli nie istnieje?

  3. Wyszukiwanie pełnotekstowe w SQL Server 2008 – SLOW

  4. Moje zapytanie Wybierz SUMA zwraca wartość null. Powinien zwrócić 0

  5. Eksportuj bazę danych SQL Server do optymalizacji XML