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) + m
m
和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