ランダム数生成のための関数
このセクションのすべての関数は、ゼロまたは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
— バイト単位の文字列の長さ。正の整数。
戻り値
- ランダムなASCII印刷可能キャラクターのセットを含む文字列。String
例
randomStringUTF8
指定された長さのランダムな文字列を生成します。結果の文字列は有効なUTF-8コードポイントを含みます。コードポイントの値は、割り当てられたUnicodeの範囲を超えている可能性があります。
構文
引数
length
— コードポイントでの文字列の長さ。UInt64。
戻り値
- UTF-8のランダムな文字列。String。
例
クエリ:
結果:
fuzzBits
構文
文字列またはFixedString s
のビットを反転させ、それぞれが確率prob
で反転します。
構文
引数
s
-String
またはFixedString
prob
- 0.0から1.0の間の定数Float32/64
。
戻り値
s
と同じタイプのファジー文字列。
例
結果: