Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

RANDOM 函数

RANDOM 生成介于 0.0 和 1.0 之间的随机值。

语法

Copy
RANDOM()

返回类型

RANDOM 返回 DOUBLE PRECISION 数。

使用说明

在使用 SET 命令设置种子值后调用 RANDOM 以使 RANDOM 生成可预测序列中的数。

示例

计算介于 0 和 99 之间的随机值。如果随机数为 0 - 1,此查询将生成 0 - 100 的随机值:

Copy
select cast (random() * 100 as int); int4 ------ 24 (1 row)

此示例使用 SET 命令设置一个 SEED 值,以使 RANDOM 生成可预测的数字序列。

首先,返回三个 RANDOM 整数,而不先设置 SEED 值:

Copy
select cast (random() * 100 as int); int4 ------ 6 (1 row) select cast (random() * 100 as int); int4 ------ 68 (1 row) select cast (random() * 100 as int); int4 ------ 56 (1 row)

现在,将 SEED 值设置为 .25,并返回 3 个以上的 RANDOM 数字:

Copy
set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)

最后,将 SEED 值重置为 .25,并验证 RANDOM 是否返回与前三个调用相同的结果:

Copy
set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)