rand
Usage#
Syntax#
rand()
rand(range)Parameters#
| Name | Type | Description |
|---|---|---|
range |
integer | Optional: A positive integer that specifies the upper exclusive limit of the range where you want to generate pseudo-random integers. The lower inclusive limit is 0. |
Returns#
Without range: A real number in the range between 0 (inclusive) and 1 (exclusive). Each call returns a pseudo-random float.
With range: An integer in the range between 0 (inclusive) and range (exclusive).
Example#
Query
print random = rand()Output
| _time | random |
|---|---|
| 2024-07-10T14:32:00Z | 0.6324890121902683 |
Other query languages#
Splunk SPL users
In Splunk SPL, the random() function returns a pseudo-random integer between 0 and 2^31-1. You often divide this value to produce a float between 0 and 1. In APL, the rand() function directly returns a float in the range [0, 1), so there’s no need to divide or scale.
Splunk example
| eval r=random()/2147483647APL equivalent
print r = rand()ANSI SQL users
ANSI SQL uses the RAND() function to generate a float between 0 and 1. However, SQL typically doesn’t generate a new random value for every row unless you call RAND() inside a subquery or use it with a specific expression. In APL, rand() behaves like a row-level function and produces a new value for each row automatically.
SQL example
SELECT RAND() as r;APL equivalent
print r = rand()