- Kategorien:
UNIFORM¶
Generiert eine gleichmäßig verteilte, pseudozufällige Zahl im Bereich [min
, max
] (einschließlich).
Syntax¶
UNIFORM( <min> , <max> , <gen> )
Argumente¶
min
Eine Konstante, die den Mindestwert (einschließlich) der generierten Zahl angibt.
max
Eine Konstante, die den Höchstwert (einschließlich) der generierten Zahl angibt.
gen
Ein Ausdruck, der als Rohdatenquelle für gleichmäßige Zufallszahlen dient, typischerweise die Funktion RANDOM. Weitere Informationen dazu finden Sie unter „Datengenerierungsfunktionen“ unter Nutzungshinweise.
Rückgabewerte¶
Wenn mindestens einer der beiden Werte min
oder max
eine Gleitkommazahl ist, gibt UNIFORM eine Gleitkommazahl zurück. Wenn sowohl min
als auch max
Ganzzahlen (Integer) sind, gibt UNIFORM eine Ganzzahl zurück.
Nutzungshinweise¶
Diese Funktion ist mit der Funktion RANDOM verwandt, unterscheidet sich jedoch von dieser. Beide Funktionen generieren gleichmäßige Verteilungen, aber es gibt Unterschiede in den Wertebereichen der zurückgegebenen Werte.
RANDOM generiert pseudozufällige 64-Bit-Ganzzahlen. Sie akzeptiert einen optionalen Startwert, der die Wiederholung von Sequenzen ermöglicht.
UNIFORM generiert zufällige Ganzzahl- oder Gleitkommazahlen im angegebenen Bereich.
Beispiele¶
In den folgenden Beispielen wird die Verwendung der Funktion UNIFORM() gezeigt. Die in der Ausgabe unten angezeigten Werte können sich von den Werten unterscheiden, die zurückgegeben werden, wenn Sie diese Beispiele selbst ausführen.
Dieses Beispiel erzeugt fünf zufällige Ganzzahlen im Bereich von 1 bis 10 (einschließlich):
SELECT UNIFORM(1, 10, RANDOM()) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+--------------------------+
| UNIFORM(1, 10, RANDOM()) |
|--------------------------|
| 6 |
| 1 |
| 8 |
| 5 |
| 6 |
+--------------------------+
Dieses Beispiel erzeugt fünf Gleitkommazahlen im Bereich von 0 bis 1 (einschließlich):
SELECT UNIFORM(0::FLOAT, 1::FLOAT, RANDOM()) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+---------------------------------------+
| UNIFORM(0::FLOAT, 1::FLOAT, RANDOM()) |
|---------------------------------------|
| 0.1180758313 |
| 0.4945805484 |
| 0.7113092833 |
| 0.06170806767 |
| 0.01635235156 |
+---------------------------------------+
Dieses Beispiel zeigt, dass, wenn das Argument gen
eine Konstante ist, auch die Ausgabe eine Konstante ist:
SELECT UNIFORM(1, 10, 1234) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+----------------------+
| UNIFORM(1, 10, 1234) |
|----------------------|
| 7 |
| 7 |
| 7 |
| 7 |
| 7 |
+----------------------+