Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja MySQL RAND() – Generuj liczbę losową w MySQL

W MySQL RAND() funkcja pozwala na wygenerowanie liczby losowej. W szczególności funkcja zwraca losową wartość zmiennoprzecinkową v w zakresie 0 <= v < 1.0 .

Możesz także wpłynąć na liczbę losową, podając wartość inicjatora jako argument.

Składnia

Składnia wygląda tak:

RAND([N])

Gdzie N to opcjonalna wartość inicjatora, której możesz użyć, aby wpłynąć na wynik.

Przykład 1 – brak argumentów

Oto podstawowy przykład pokazujący, co się dzieje, gdy nie dostarczamy argumentów.

SELECT RAND();

Wynik:

+--------------------+
| RAND()             |
+--------------------+
| 0.4335442291885095 |
+--------------------+

Wynik nie jest stały – za każdym razem będzie inny.

Oto przykład tego, co się dzieje, gdy uruchamiamy wiele funkcji RAND() działa razem.

SELECT 
  RAND() 'Result 1',
  RAND() 'Result 2',
  RAND() 'Result 3';

Wynik:

+--------------------+---------------------+---------------------+
| Result 1           | Result 2            | Result 3            |
+--------------------+---------------------+---------------------+
| 0.9413559538697414 | 0.40614711251682334 | 0.20666773170853753 |
+--------------------+---------------------+---------------------+

Przykład 2 – Korzystanie z wartości początkowej

Jak wspomniano, możesz przekazać argument, aby określić wartość inicjatora. Pozwala to wpływać na wyjście funkcji.

SELECT RAND(5);

Wynik:

+---------------------+
| RAND(5)             |
+---------------------+
| 0.40613597483014313 |
+---------------------+

W takim przypadku funkcja zwróci tę samą wartość za każdym razem, jeśli zostanie podana wartość równego argumentu.

SELECT 
  RAND(5) 'Result 1',
  RAND(5) 'Result 2',
  RAND(5) 'Result 3';

Wynik:

+---------------------+---------------------+---------------------+
| Result 1            | Result 2            | Result 3            |
+---------------------+---------------------+---------------------+
| 0.40613597483014313 | 0.40613597483014313 | 0.40613597483014313 |
+---------------------+---------------------+---------------------+

Przykład 3 – Używanie RAND() jako części wyrażenia

Możesz użyć RAND() funkcjonować jako część wyrażenia.

SELECT RAND()*10;

Wynik:

+-------------------+
| RAND()*10         |
+-------------------+
| 8.148973517258627 |
+-------------------+

Przykład 4 – Zwrócenie losowej liczby całkowitej między dwiema liczbami

Możesz połączyć RAND() funkcja z FLOOR() funkcja zwracająca losową liczbę całkowitą między dwiema liczbami.

Oto jak wygenerować liczbę całkowitą od 5 do 10 (włącznie).

SELECT FLOOR(RAND()*(10-5+1)+5);

Wynik:

+--------------------------+
| FLOOR(RAND()*(10-5+1)+5) |
+--------------------------+
|                        7 |
+--------------------------+

Uruchommy ten sam kod wiele razy, aby zobaczyć różne wyniki.

SELECT 
  FLOOR(RAND()*(10-5+1)+5) 'Result 1',
  FLOOR(RAND()*(10-5+1)+5) 'Result 2',
  FLOOR(RAND()*(10-5+1)+5) 'Result 3';

Wynik:

+----------+----------+----------+
| Result 1 | Result 2 | Result 3 |
+----------+----------+----------+
|        7 |        9 |        6 |
+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę zabezpieczyć nazwę użytkownika i hasło MySQL przed dekompilacją?

  2. Przyspieszenie liczenia wierszy w MySQL

  3. Przepisywanie mysql select w celu skrócenia czasu i zapisywania tmp na dysk

  4. Szukaj z wartością oddzieloną przecinkami mysql

  5. Jak usunąć bazę danych w MySQL/MariaDB?