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 | +----------+----------+----------+