Zufallszahlen und -text generieren - DBMS_RANDOM

Um für Testzwecke etc. "zufällige" Zahlen / Strings zu erzeugen, gibt es in Oracle die Funktion dbms_random.

In Verbindung mit connect by kann so sehr einfach eine beliebige Menge an Zeilen mit Zufallswerten erzeugt werden:

SELECT dbms_random.value(1,1000) Z 
     , dbms_random.string('a',20) Txt
  FROM DUAL CONNECT BY level < 101;


* DBMS_RANDOM.VALUE(low, high)
  + low -> untere Grenze
  + high -> obere Grenze

* DBMS_RANDOM.STRING(opt, len)
  + opt -> Definiert, was für ein String erzeugt wird
  + len -> Länge des String

  + Details zu opt:
  • 'u', 'U' - returning string in uppercase alpha characters
  • 'l', 'L' - returning string in lowercase alpha characters
  • 'a', 'A' - returning string in mixed case alpha characters
  • 'x', 'X' - returning string in uppercase alpha-numeric characters
  • 'p', 'P' - returning string in any printable characters.

Beispiel:
select round(dbms_random.value(1000000000, 9999999999)) from dual;
erzeugt eine 10stellige, ganzzahlige Zufallszahl.


Mehr dazu in der Doku:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/arpls/DBMS_RANDOM.html#GUID-6217A957-6E09-4BAB-B0D0-EB9DC0FCAECA

Kommentare

Beliebte Posts aus diesem Blog

trunc(sysdate) - nette Spiele mit dem Datum

Laufzeiten umrechnen, Sekundenangaben lesbar darstellen