すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DBMS_RANDOM

最終更新日:Jun 05, 2024

DBMS_RANDOMパッケージは、ランダム値を生成するためのいくつかのメソッドを提供します。

次の表に、DBMS_RANDOMパッケージで使用できる関数とストアドプロシージャを示します。

表1. DBMS_RANDOM関数とストアドプロシージャ
関数またはストアドプロシージャ戻り値タイプ説明
INITIALIZE(val)N/A指定されたシード値でDBMS_RANDOMパッケージを初期化します。 非推奨であり、下位互換性のためにのみ含まれます。
NORMAL()NUMBERNUMBER 型の乱数を返します。
RANDOMINTEGER-2^31 以上 2^31 未満の INTEGER 型の乱数。 非推奨であり、下位互換性のためにのみ含まれます。
SEED(val)N/ADBMS_RANDOMパッケージのシードを文字列値でリセットします。
STRING(opt, len)VARCHAR2ランダムなVARCHAR2文字列をカスタム形式で返します。
TERMINATEN/ADBMS_RANDOMパッケージを終了します。 非推奨であり、下位互換性のためにのみ含まれます。
VALUENUMBERNUMBER 型の乱数を返します。 値は0以上1未満で、精度は38桁でなければなりません。
VALUE(low, high)NUMBER低以上かつ高未満のランダムなNUMBERを返します。

INITIALIZE

DBMS_RANDOMパッケージをシード値で初期化するために使用されるINITIALIZEストアドプロシージャ。 構文:
INITIALIZE(val IN INTEGER)
Parameters
パラメーター説明
valDBMS_RANDOMパッケージで使用されるシード値。
次のブロックは、DBMS_RANDOMパッケージをシード値6475で初期化するINITIALIZEストアドプロシージャの呼び出しを示しています。
DBMS_RANDOM.INITIALIZE(6475);

NORMAL

NORMAL関数は、ランダムなNUMBERを返すために使用されます。 構文:
result NUMBER NORMAL()
パラメータ
パラメーター説明
resultNUMBER型のランダムな値。
x:= DBMS_RANDOM.NORMAL();

RANDOM

RANDOM関数は、-2A31以上2A31未満のランダムINTEGERを返すために使用されます。 構文:
result INTEGER RANDOM()
パラメーター
パラメーター説明
resultINTEGER型のランダムな値。
x := DBMS_RANDOM.RANDOM();

SEED

SEEDストアドプロシージャは、文字列値を使用してDBMS_RANDOMパッケージのシード値をリセットするために使用されます。 構文:
SEED(val IN VARCHAR2)
パラメーター
パラメーター説明
valDBMS_RANDOMパッケージで使用されるシード値。
次のブロックは、abc123のシード値を使用するSEEDストアドプロシージャの呼び出しを示しています。
DBMS_RANDOM.SEED('abc123');

STRING

STRING関数は、ランダムなVARCHAR2文字列をカスタム形式で返すために使用されます。 構文:
result VARCHAR2 STRING(opt IN CHAR, len IN NUMBER)
リクエストパラメーター
パラメーター説明
opt返された文字列の形式。 有効な値:
  • uまたはU: 大文字の文字列。
  • lまたはL: 小文字の文字列。
  • aまたはA: 大文字と小文字の両方の文字列。
  • xまたはX: 大文字と数値の両方の文字列。
  • PまたはP: 印刷可能な文字の文字列。
len返される文字列の長さ。
応答パラメーター
パラメーター説明
resultVARCHAR2型のランダムな文字列。
次のブロックは、長さが10文字のランダムな英数字文字列を返すSTRING関数の呼び出しを示しています。
x := DBMS_RANDOM.STRING('X', 10);

TERMINATE

TERMINATEストアドプロシージャは、DBMS_RANDOMパッケージを終了するために使用されます。 構文:
TERMINATE

VALUE

VALUE関数は、ランダムなNUMBERを返すために使用されます。 ランダム値は0以上1未満で、精度は38桁です。 または、ランダム値が指定された境界内に入ります。 VALUE関数には、次の2つの構文形式があります。

結果の数値値 (低の数値、高の数値); 
リクエストパラメータ
パラメーター説明
lowランダムな値の下限を指定します。 ランダム値はに等しくてもよい。
highランダムな値の上限を指定します。 ランダム値はhigh未満でなければなりません。
応答パラメーター
パラメーター説明
resultNUMBER型のランダムな値。
x := DBMS_RANDOM.VALUE() の

x := DBMS_RANDOM.VALUE(1, 100);