文章目录
生成随机数字
生成 0 到 1 之间的随机数
生成指定范围内的随机数
生成 6 位数字手机验证码
生成遵循正态分布的随机数
生成随机字符串
生成固定长度的随机字符串
生成可变长度的随机字符串
生成随机日期和时间
获取表中的随机记录
生成 UUID
总结
今天我们介绍一下如何在 PostgreSQL 中生成随机数据,包括随机数字、验证码、随机字符串以及随机日期和时间等。
生成随机数字
生成 0 到 1 之间的随机数
PostgreSQL 中的RANDOM()函数可以用于生成一个大于等于 0 小于 1 的随机数字。例如:
SELECT random();
random |
------------------|
0.5573292311275964|
SELECT random();
random |
--------------------|
0.017827744704202786|
该函数返回的数据类型为 double precision,每次调用都会返回不同的结果。
如果我们想要重现某个结果,需要生成相同的随机数;这种情况下可以使用SETSEED(d)函数设置一个随机数种子,d 的类型为 double precision,取值范围从 -1.0 到 1.0。例如:
SELECT setseed(0);
SELECT random();
random |
------------------|
0.0000000000000391|
random |
------------------|
0.0009853946746503|
...
SELECT setseed(0);
SELECT random();
random |
------------------|
0.0000000000000391|
random |
------------------|
0.0009853946746503|
从结果可以看出,设置相同的种子之后,随后的函数调用返回了一系列相同的随机数。
生成指定范围内的随机数
基于 RANDOM() 函数和一些运算,就可以返回任意两个数字之间的随机数:
PostgreSQL 生成随机数字、字符串、日期、验证码以及 UUID
最新推荐文章于 2024-06-13 11:40:10 发布