PostgreSQL random() 函数使用指南
PostgreSQL random() 函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。
random() 语法
这里是 PostgreSQL random() 函数的语法:
random()
参数
PostgreSQL random() 函数没有任何参数。
返回值
PostgreSQL random() 函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。
random() 返回的是 0 (包含) 和 1 (不包含) 之间的随机小数,如果你想返回其他区间(比如 m 和 n)的随机数,请使用以下公式。
m和n之间的随机数:random() * (n - m) + mm和n之间的随机整数:FLOOR(random() * (n - m + 1) + m)
如果您想获取一个稳定的随机序列,请结合 setseed() 函数一起使用 random() 函数。
random() 示例
返回 0 和 1 之间的随机数
本示例展示了如何使用 random() 函数获取 0 和 1 之间的随机数。
SELECT
random(),
random(),
random(),
random();
-[ RECORD 1 ]---------------
random | 0.3029171607224228
random | 0.42633738304023794
random | 0.584824959131069
random | 0.7533572011921841返回 10 和 20 之间的随机数
本示例展示了如何使用 random() 函数获取 10 和 20 之间的随机数。
SELECT
random() * (20 - 10) + 10 AS "10 <= x < 20",
random() * (20 - 10) + 10 AS "10 <= x < 20",
random() * (20 - 10) + 10 AS "10 <= x < 20",
random() * (20 - 10) + 10 AS "10 <= x < 20";
-[ RECORD 1 ]+-------------------
10 <= x < 20 | 19.504483402831525
10 <= x < 20 | 13.118109640092719
10 <= x < 20 | 17.609356732100565
10 <= x < 20 | 10.092857779143252返回 10 和 20 之间的随机整数
本示例展示了如何使用 random() 函数和 floor() 函数获取 10 和 20 之间的随机整数。
SELECT
floor(random() * (20 - 10 + 1) + 10) AS "10 <= x < 20",
floor(random() * (20 - 10 + 1) + 10) AS "10 <= x < 20",
floor(random() * (20 - 10 + 1) + 10) AS "10 <= x < 20",
floor(random() * (20 - 10 + 1) + 10) AS "10 <= x < 20";
-[ RECORD 1 ]+---
10 <= x < 20 | 15
10 <= x < 20 | 17
10 <= x < 20 | 12
10 <= x < 20 | 14