mt_random() (Funktion)

Die Funktion mt_random() gibt eine Zufallszahl im Bereich 0,0 - 1,0 mithilfe des Generators für Zufallszahlen Mersenne-Twister zurück. Dies ist eine Open-Source-Bibliothek, die schnell hochwertige Pseudozufallszahlen mit einer Periode von 2 19937-1 und guter Verteilung erzeugt.

Die Zufallszahlen eignen sich exzellent für Simulationen, wie beispielsweise Monte-Carlo-Simulationen. Die Zufallszahlen eignen sich auch exzellent für Abfragen. Beispielsweise können die Zahlen eine Zufallsstichprobe von 1000 Datensätzen aus einer Tabelle mit 1.000.000 Datensätzen bereitstellen.

Dieser Algorithmus an sich ist für die Verschlüsselung nicht geeignet, da nur 624 Iterationen erforderlich sind, um alle zukünftigen Iterationen vorherzusagen. Das Umhüllen dieser Funktion mit einer Hashfunktion ist wahrscheinlich ausreichend, um kryptografisch sichere Zufallszahlen bereitzustellen.

Netezza Performance Server bietet eine integrierte ' random() -Funktion, die auf dem Linear Congruential Generator-Algorithmus basiert. Der Algorithmus Mersenne Twister wird häufig für bestimmte Zufallsanwendungen bevorzugt.

Syntax

Die Funktion mt_random() hat folgende Syntax:
mt_random = mt_random();

Rückgabe

Die Funktion gibt eine Zufallszahl im Bereich 0,0 - 1,0 zurück.

Beispiel

Mit dem folgenden Beispiel wird eine verteilte Zufallsstichprobe mit 10 Datensätzen aus der Tabelle 'Customer_Table' extrahiert:
SELECT * FROM Customer_Table ORDER BY mt_random() LIMIT 10;