In MySQL is de RAND()
functie stelt u in staat om een willekeurig getal te genereren. In het bijzonder retourneert de functie een willekeurige drijvende-kommawaarde v in het bereik 0 <= v < 1.0
.
Je kunt het willekeurige getal ook beïnvloeden door een startwaarde als argument op te geven.
Syntaxis
De syntaxis gaat als volgt:
RAND([N])
Waar N
is een optionele startwaarde die u kunt gebruiken om het resultaat te beïnvloeden.
Voorbeeld 1 – Geen argumenten
Hier is een eenvoudig voorbeeld om te laten zien wat er gebeurt als we geen argument geven.
SELECT RAND();
Resultaat:
+--------------------+ | RAND() | +--------------------+ | 0.4335442291885095 | +--------------------+
Het resultaat is geen constante - het zal elke keer dat u het uitvoert anders zijn.
Hier is een voorbeeld van wat er gebeurt als we meerdere RAND()
. uitvoeren functies samen.
SELECT RAND() 'Result 1', RAND() 'Result 2', RAND() 'Result 3';
Resultaat:
+--------------------+---------------------+---------------------+ | Result 1 | Result 2 | Result 3 | +--------------------+---------------------+---------------------+ | 0.9413559538697414 | 0.40614711251682334 | 0.20666773170853753 | +--------------------+---------------------+---------------------+
Voorbeeld 2 – Een startwaarde gebruiken
Zoals vermeld, kunt u een argument doorgeven om de seed-waarde te bepalen. Hiermee kunt u de uitvoer van de functie beïnvloeden.
SELECT RAND(5);
Resultaat:
+---------------------+ | RAND(5) | +---------------------+ | 0.40613597483014313 | +---------------------+
In dit geval retourneert de functie elke keer dezelfde waarde als een gelijke argumentwaarde wordt opgegeven.
SELECT RAND(5) 'Result 1', RAND(5) 'Result 2', RAND(5) 'Result 3';
Resultaat:
+---------------------+---------------------+---------------------+ | Result 1 | Result 2 | Result 3 | +---------------------+---------------------+---------------------+ | 0.40613597483014313 | 0.40613597483014313 | 0.40613597483014313 | +---------------------+---------------------+---------------------+
Voorbeeld 3 – RAND() gebruiken als onderdeel van een expressie
U kunt de RAND()
. gebruiken functioneren als onderdeel van een uitdrukking.
SELECT RAND()*10;
Resultaat:
+-------------------+ | RAND()*10 | +-------------------+ | 8.148973517258627 | +-------------------+
Voorbeeld 4 – Een willekeurig geheel getal tussen twee getallen teruggeven
U kunt de RAND()
. combineren functie met de FLOOR()
functie om een willekeurig geheel getal tussen twee getallen te retourneren.
Hier leest u hoe u een geheel getal tussen 5 en 10 (inclusief) kunt genereren.
SELECT FLOOR(RAND()*(10-5+1)+5);
Resultaat:
+--------------------------+ | FLOOR(RAND()*(10-5+1)+5) | +--------------------------+ | 7 | +--------------------------+
Laten we dezelfde code meerdere keren uitvoeren om de wisselende resultaten te zien.
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';
Resultaat:
+----------+----------+----------+ | Result 1 | Result 2 | Result 3 | +----------+----------+----------+ | 7 | 9 | 6 | +----------+----------+----------+