Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL RAND()-Funktion – Generieren Sie eine Zufallszahl in MySQL

In MySQL der RAND() Mit der Funktion können Sie eine Zufallszahl generieren. Insbesondere gibt die Funktion einen zufälligen Gleitkommawert v zurück im Bereich 0 <= v < 1.0 .

Sie können die Zufallszahl auch beeinflussen, indem Sie einen Ausgangswert als Argument angeben.

Syntax

Die Syntax lautet wie folgt:

RAND([N])

Wobei N ist ein optionaler Startwert, mit dem Sie das Ergebnis beeinflussen können.

Beispiel 1 – Keine Argumente

Hier ist ein einfaches Beispiel, um zu demonstrieren, was passiert, wenn wir kein Argument liefern.

SELECT RAND();

Ergebnis:

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

Das Ergebnis ist keine Konstante – es wird jedes Mal anders sein, wenn Sie es ausführen.

Hier ist ein Beispiel dafür, was passiert, wenn wir mehrere RAND() ausführen Funktionen zusammen.

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

Ergebnis:

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

Beispiel 2 – Verwenden eines Seed-Werts

Wie bereits erwähnt, können Sie ein Argument übergeben, um den Startwert zu bestimmen. Damit können Sie die Ausgabe der Funktion beeinflussen.

SELECT RAND(5);

Ergebnis:

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

In diesem Fall gibt die Funktion jedes Mal denselben Wert zurück, wenn ein gleicher Argumentwert bereitgestellt wird.

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

Ergebnis:

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

Beispiel 3 – Verwendung von RAND() als Teil eines Ausdrucks

Sie können den RAND() verwenden Funktion als Teil eines Ausdrucks.

SELECT RAND()*10;

Ergebnis:

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

Beispiel 4 – Rückgabe einer zufälligen ganzen Zahl zwischen zwei Zahlen

Sie können RAND() kombinieren Funktion mit dem FLOOR() Funktion, um eine zufällige Ganzzahl zwischen zwei Zahlen zurückzugeben.

So generieren Sie eine Ganzzahl zwischen 5 und 10 (einschließlich).

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

Ergebnis:

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

Lassen Sie uns denselben Code mehrmals ausführen, um die unterschiedlichen Ergebnisse zu sehen.

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';

Ergebnis:

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