メインコンテンツまでスキップ
メインコンテンツまでスキップ

ランダム数生成のための関数

このセクションのすべての関数は、ゼロまたは1つの引数を受け取ります。引数が提供されている場合の唯一の用途は、共通部分式の排除を防ぐことです。これにより、同じランダム関数の行内で2つの異なる実行が異なるランダム値を返します。

関連コンテンツ

注記

生成されるランダム数は、非暗号化アルゴリズムによって生成されます。

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 - 分布の平均値,
  • variance - Float64 - 分布の分散

返される値

結果:

randLogNormal

対数正規分布に従って引かれたランダムなFloat64を返します。

構文

引数

  • mean - Float64 - 分布の平均値,
  • variance - Float64 - 分布の分散

返される値

結果:

randBinomial

二項分布に従って引かれたランダムなUInt64を返します。

構文

引数

  • experiments - UInt64 - 実験の回数,
  • probability - Float64 - 各実験の成功確率、0から1の間の値。

返される値

結果:

randNegativeBinomial

負の二項分布に従って引かれたランダムなUInt64を返します。

構文

引数

  • experiments - UInt64 - 実験の回数,
  • probability - Float64 - 各実験の失敗確率、0から1の間の値。

返される値

結果:

randPoisson

ポアソン分布に従って引かれたランダムなUInt64を返します。

構文

引数

  • n - UInt64 - 平均的な発生回数。

返される値

結果:

randBernoulli

ベルヌーイ分布に従って引かれたランダムなUInt64を返します。

構文

引数

  • probability - Float64 - 成功の確率、0から1の間の値。

返される値

結果:

randExponential

指数分布に従って引かれたランダムなFloat64を返します。

構文

引数

  • lambda - Float64 - ラムダ値。

返される値

結果:

randChiSquared

カイ二乗分布から引かれたランダムなFloat64を返します - kつの独立した標準正規ランダム変数の二乗和の分布です。

構文

引数

  • degree_of_freedom - Float64 - 自由度。

返される値

結果:

randStudentT

スチューデントのt分布から引かれたランダムなFloat64を返します。

構文

引数

  • degree_of_freedom - Float64 - 自由度。

返される値

結果:

randFisherF

F分布に従って引かれたランダムなFloat64を返します。

構文

引数

  • d1 - Float64 - X = (S1 / d1) / (S2 / d2)のd1自由度,
  • d2 - Float64 - X = (S1 / d1) / (S2 / d2)のd2自由度,

返される値

結果:

randomString

指定された長さのランダムバイト(ゼロバイトを含む)で埋められた文字列を生成します。すべての文字が表示可能であるとは限りません。

構文

引数

  • length — バイト単位の文字列の長さ。正の整数。

返される値

ランダムバイトで埋められた文字列。String

クエリ:

結果:

randomFixedString

指定された長さのランダムバイト(ゼロバイトを含む)で埋められたバイナリ字符串を生成します。すべての文字が表示可能であるとは限りません。

構文

引数

  • length — バイト単位の文字列の長さ。UInt64

返される値

ランダムバイトで埋められた文字列。FixedString

クエリ:

結果:

randomPrintableASCII

ランダムなASCII文字のセットを持つ文字列を生成します。すべての文字が表示可能です。 length < 0 を渡すと、関数の動作は未定義になります。

構文

引数

  • length — バイト単位の文字列の長さ。正の整数。

返される値

ランダムなASCII表示可能文字のセットを持つ文字列。String

randomStringUTF8

指定された長さのランダム文字列を生成します。結果の文字列には有効なUTF-8コードポイントが含まれます。コードポイントの値は割り当てられたUnicodeの範囲外にある場合があります。

構文

引数

  • length — コードポイント単位の文字列の長さ。UInt64

返される値

  • UTF-8ランダム文字列。String

クエリ:

結果:

fuzzBits

構文

文字列または固定文字列 s のビットを、確率 prob に応じて反転させます。

構文

引数

  • s - String または FixedString,
  • prob - 定数 Float32/64 で0.0から1.0の間。

返される値

s と同じ型のファズ処理された文字列。

結果: