random()

返回随机值的函数

random() 是一个返回随机值的系统函数。

random() 一直存在于 PostgreSQL 中。

用法

random ( ) → double precision

此变体返回一个大于等于 0.0 但小于 1.0 的值。

PostgreSQL 17 及更高版本支持为整数和数值数据类型在指定范围内生成随机数

random(min integer, max integer) → integer
random(min bigint, max bigint) → bigint
random(min numeric, max numeric) → numeric

PostgreSQL 19 及更高版本支持在指定范围内生成随机日期和时间戳

random(min date, max date) → date
random(min timestamp, max timestamp) → timestamp
random(min timestamptz, max timestamptz) → timestamptz

请注意,random() 不被认为是加密用途的安全随机数生成器;请参阅 pgcrypto

变更历史

示例

random() 的基本用法示例

postgres=# SELECT random();
       random       
--------------------
 0.8297589594208281
(1 row)

PostgreSQL 17 及更高版本中,可以指定生成随机数的上限和下限

postgres=# SELECT random(1,10);
 random 
--------
      3
(1 row)

postgres=# SELECT random(-10.1, -3.5);
 random 
--------
   -8.1
(1 row)

PostgreSQL 19 及更高版本中,还可以生成随机的 datetimestamp

postgres=# SELECT random('2021-01-01'::date, '2025-01-01'::date);
   random   
------------
 2021-11-06
(1 row)

分类

系统函数

另请参阅

setseed(), pgcrypto, gen_random_uuid(), random_normal()

反馈

提交关于 "random()" 的任何评论、建议或更正,请在此处 提交