ランダム数生成用の関数
このセクションのすべての関数は、0または1個の引数を受け取ります。引数を提供した場合の唯一の目的は、同じランダム関数が行内で異なる実行を行った際に、異なるランダム値が返されるようにするためです。
関連コンテンツ
生成されるランダム数は、非暗号化アルゴリズムによって生成されます。
rand
一様分布のもとでランダムなUInt32数を返します。
システムから取得した初期状態を使用した線形合同生成器を利用しています。これは、見た目にはランダムですが、実際にはランダムではなく、初期状態が知られている場合は予測可能です。真のランダム性が重要なシナリオでは、システムレベルの呼び出しや外部ライブラリとの統合など、代替手段の使用を検討してください。
構文
エイリアス: rand32
引数
なし。
戻り値
UInt32型の数値を返します。
例
rand64
ランダムなUInt64整数 (UInt64) 数を返します。
構文
引数
なし。
戻り値
一様分布のもとでランダムなUInt64数を返します。
システムから取得した初期状態を使用した線形合同生成器を利用しています。これは、見た目にはランダムですが、実際にはランダムではなく、初期状態が知られている場合は予測可能です。真のランダム性が重要なシナリオでは、システムレベルの呼び出しや外部ライブラリとの統合など、代替手段の使用を検討してください。
例
randCanonical
ランダムなFloat64数を返します。
構文
引数
なし。
戻り値
0(含む)から1(含まない)の範囲のFloat64値を返します。
例
randConstant
ランダムな値で埋められた単一の定数カラムを生成します。rand
とは異なり、この関数は生成されたカラムの各行に同じランダム値が現れることを保証するため、単一のクエリ内の行間で一貫したランダムシードが必要なシナリオに役立ちます。
構文
引数
- [x](オプション): 生成されるランダム値に影響を与えるオプションの式です。提供された場合でも、同じクエリ実行内では結果の値は常に一定です。同じ式を使用する異なるクエリでは、異なる定数値が生成される可能性があります。
戻り値
各行に同じランダム値を持つUInt32型のカラムを返します。
実装の詳細
実際の出力は、同じオプション式であっても、各クエリの実行ごとに異なります。オプションのパラメータは、単独でrandConstant
を使用するのと比較して生成される値を大きく変更しない場合があります。
例
randUniform
min
からmax
の間の一様に描かれたランダムなFloat64を返します。
構文
引数
min
-Float64
- 範囲の左端、max
-Float64
- 範囲の右端。
戻り値
Float64型のランダムな数を返します。
例
randNormal
正規分布から描かれたランダムなFloat64を返します。
構文
引数
mean
-Float64
- 分布の平均値、stddev
-Float64
- 分布の標準偏差。
戻り値
- ランダムな数。Float64。
例
結果:
randLogNormal
対数正規分布から描かれたランダムなFloat64を返します。
構文
引数
mean
-Float64
- 分布の平均値、stddev
-Float64
- 標準偏差。
戻り値
- ランダムな数。Float64。
例
結果:
randBinomial
二項分布から描かれたランダムなUInt64を返します。
構文
引数
experiments
-UInt64
- 実験の数、probability
-Float64
- 各実験での成功の確率、0から1の間の値。
戻り値
- ランダムな数。UInt64。
例
結果:
randNegativeBinomial
負の二項分布から描かれたランダムなUInt64を返します。
構文
引数
experiments
-UInt64
- 実験の数、probability
-Float64
- 各実験での失敗の確率、0から1の間の値。
戻り値
- ランダムな数。UInt64。
例
結果:
randPoisson
ポアソン分布から描かれたランダムなUInt64を返します。
構文
引数
n
-UInt64
- 発生の平均回数。
戻り値
- ランダムな数。UInt64。
例
結果:
randBernoulli
ベルヌーイ分布から描かれたランダムなUInt64を返します。
構文
引数
probability
-Float64
- 成功の確率、0から1の間の値。
戻り値
- ランダムな数。UInt64。
例
結果:
randExponential
指数分布から描かれたランダムなFloat64を返します。
構文
引数
lambda
-Float64
- ラムダ値。
戻り値
- ランダムな数。Float64。
例
結果:
randChiSquared
カイ二乗分布から描かれたランダムなFloat64を返します - k個の独立した標準正規分布の乱数の平方の合計の分布です。
構文
引数
degree_of_freedom
-Float64
- 自由度。
戻り値
- ランダムな数。Float64。
例
結果:
randStudentT
スチューデントのt分布から描かれたランダムなFloat64を返します。
構文
引数
degree_of_freedom
-Float64
- 自由度。
戻り値
- ランダムな数。Float64。
例
結果:
randFisherF
F分布から描かれたランダムなFloat64を返します。
構文
引数
d1
-Float64
-X = (S1 / d1) / (S2 / d2)
におけるd1自由度、d2
-Float64
-X = (S1 / d1) / (S2 / d2)
におけるd2自由度。
戻り値
- ランダムな数。Float64。
例
結果:
randomString
指定された長さのランダムバイト(ゼロバイトを含む)で埋められた文字列を生成します。すべての文字が表示可能であるとは限りません。
構文
引数
length
— バイト単位の文字列の長さ。正の整数。
戻り値
- ランダムなバイトで埋められた文字列。String。
例
クエリ:
結果:
randomFixedString
指定された長さのランダムバイト(ゼロバイトを含む)で埋められたバイナリ文字列を生成します。すべての文字が表示可能であるとは限りません。
構文
引数
length
— バイト単位の文字列の長さ。UInt64。
戻り値
- ランダムなバイトで埋められた文字列。FixedString。
例
クエリ:
結果:
randomPrintableASCII
ランダムなセットのASCII文字で埋められた文字列を生成します。すべての文字が表示可能です。
length < 0
を渡すと、関数の動作は未定義です。
構文
引数
length
— バイト単位の文字列の長さ。正の整数。
戻り値
例
randomStringUTF8
指定された長さのランダムな文字列を生成します。結果の文字列は有効なUTF-8コードポイントを含みます。コードポイントの値は、割り当てられたUnicodeの範囲の外にある場合があります。
構文
引数
length
— コードポイント単位の文字列の長さ。UInt64。
戻り値
- UTF-8のランダムな文字列。String。
例
クエリ:
結果:
fuzzBits
構文
文字列またはFixedString s
のビットを、確率prob
で反転します。
構文
引数
s
-String
またはFixedString
、prob
- 定数Float32/64
0.0と1.0の間。
戻り値
s
と同じ型のノイズを加えた文字列。
例
結果: