random()
是一个系统函数,它返回一个大于等于 0.0
但小于 1.0
的随机值。
random()
一直存在于 PostgreSQL 中。
用法
random ( ) → double precision
PostgreSQL 17 及更高版本还支持为整数和数值数据类型生成指定范围内的随机数
random(mininteger
, maxinteger
) →integer
random(minbigint
, maxbigint
) →bigint
random(minnumeric
, maxnumeric
) →numeric
请注意,random()
不被认为是加密用途的安全方法;请参阅 pgcrypto
。
变更历史
- PostgreSQL 17
- 添加了
random(min, max)
变体 (提交 e6341323)
- 添加了
- PostgreSQL 15
- 改进的 PRNG API 和算法 (提交 3804539e)
- PostgreSQL 9.4
- 改进随机种子 (提交 98c50656)
示例
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 文档: 随机函数