random_normal() 是一个提供正态分布随机数的系统函数。
random_normal() 在 PostgreSQL 16 中添加。
用法
random_normal ( [meandouble precision[,stddevdouble precision]] ) →double precision
random_normal() 使用高斯分布产生一组正态分布的随机值。
mean 指定了数值正态分布的均值。stddev 是数值正态分布的标准差。
通过 tablefunc contrib 模块 可用一个具有类似功能的函数 normal_rand()。
变更历史
- PostgreSQL 16
- 添加于 (提交 38d81760)
示例
random_normal() 的基本用法示例
postgres=# SELECT random_normal(); random_normal -------------------- 0.7821236960137614 (1 row)
提供均值
postgres=# SELECT random_normal(5) FROM generate_series(1,5); random_normal ------------------- 5.29703419771379 3.623749811810435 6.572131718905143 4.428844367745707 6.250520372123069 (5 rows)
参考资料
- PostgreSQL 文档: 随机函数
有用链接
- 新函数:random_normal - PostgresPro 的 Pavel Luzanov 在 2023 年 3 月发表的博客文章的一部分
- 等待 PostgreSQL 16 – 发明 random_normal() 以提供正态分布的随机数 - Hubert 'depesz' Lubaczewski 在 2023 年 1 月发表的博客文章
