跳到主要内容
版本:0.2.x

Random

Notice: Some of the examples below are referenced from ClickHouse Documentation but have been adapted and modified to work in ByConity.

rand

Returns a pseudo-random UInt32 number, evenly distributed among all UInt32-type numbers. Uses a linear congruential generator.

Syntax

rand([x])

Arguments

  • x — Expression resulting in any of the supported data types. The resulting value is discarded, but the expression itself if used for bypassing common subexpression elimination if the function is called multiple times in one query. Optional parameter.

Returned values

  • a pseudo-random UInt32 number. Type: UInt32

Example

SELECT rand(), rand(number) FROM numbers(2);
┌─rand()─────┬─rand(number)─┐
│ 3882830473 │ 2236253349 │
│ 4122795699 │ 3720179576 │
└────────────┴──────────────┘

rand64

Returns a pseudo-random UInt64 number, evenly distributed among all UInt64-type numbers. Uses a linear congruential generator.

Syntax

rand64([x])

Arguments

  • x — Expression resulting in any of the supported data types. The resulting value is discarded, but the expression itself if used for bypassing common subexpression elimination if the function is called multiple times in one query. Optional parameter.

Returned values

  • a pseudo-random UInt64 number. Type: UInt64

Example

SELECT rand64(), rand64(number) FROM numbers(2);
┌─rand64()────────────┬─rand64(number)───────┐
│ 4216084906413806748 │ 17404981640646529534 │
│ 874879808660605772 │ 941470430861381566 │
└─────────────────────┴──────────────────────┘

randConstant

Produces a constant column with a random value.

Syntax

randConstant([x])

Arguments

  • x — Expression resulting in any of the supported data types. The resulting value is discarded, but the expression itself if used for bypassing common subexpression elimination if the function is called multiple times in one query. Optional parameter.

Returned value

  • Pseudo-random number. Type: UInt32.

Example

SELECT rand(), rand(1), rand(number), randConstant(), randConstant(1), randConstant(number)
FROM numbers(3)
┌─rand()─────┬─rand(1)────┬─rand(number)─┬─randConstant()─┬─randConstant(1)─┬─randConstant(number)─┐
│ 1617218167 │ 3030783952 │ 3660442590 │ 3335999329 │ 1508515848 │ 1880875990 │
│ 432450540 │ 2987789840 │ 653572307 │ 3335999329 │ 1508515848 │ 1880875990 │
│ 3698169875 │ 79826010 │ 458167070 │ 3335999329 │ 1508515848 │ 1880875990 │
└────────────┴────────────┴──────────────┴────────────────┴─────────────────┴──────────────────────┘