RANDOM()

All functions > METAPROGRAMMING > RANDOM()

Returns a random number in the range 0.0 <= x < 1.0

Signatures

Returns: Random number in range [0.0, 1.0)

RANDOM() → DOUBLE
sql
ParameterTypeRequiredDescription

Notes

  • Non-deterministic: each evaluation may draw a new value
  • Returns uniformly distributed random numbers in [0.0, 1.0) — includes 0.0 but excludes 1.0
  • Useful for sampling, simulations, and randomization
  • Can be aliased as RAND()
  • Re-running the same query text can yield different values

Aliases

  • RAND

See also

Examples

Compile-time draw with @eval_as_literal

FeatureQL
SELECT
    f1 := (@eval_as_literal(RANDOM()) IS NULL::DOUBLE) = FALSE, -- A folded draw is a concrete DOUBLE literal (never NULL)
    f2 := TYPEOF(@eval_as_literal(RANDOM())) -- Folded value is typed as DOUBLE; use @eval_as_literal so RANDOM() can appear in normal SELECT features (also available as RAND())
;
Result
f1 BOOLEANf2 VARCHAR
trueDOUBLE

Last update at: 2026/05/26 17:22:09