当前位置: 首页 > news >正文

PostgreSQL 19新特性之随机日期和时间

PostgreSQL 中的随机函数 random() 可以用于返回一个随机数,例如:

-- 生成一个大于等于0,小于1的随机数
SELECT random();random            |
------------------+
0.6088934666983767|-- 生成一个大于等于1,小于等于10的随机整数
SELECT random(1, 10);random|
------+8|-- 生成一个遵循均值为 0.0,标准差为 1.0 的正态分布的随机数
SELECT random_normal(0.0, 1.0);random_normal     |
------------------+
0.1809493674775017|

如果想要获取一个随机的日期或者时间,需要使用算术运算,例如:

-- 生成一个从今天开始到30天之内(包含)的随机日期
SELECT current_date + floor((random() * 31))::int;?column?  |
----------+
2025-11-07|-- 生成一个从现在开始一年之内的随机时间
select now() + '1 year'::interval * random();?column?                     |
-----------------------------+
2026-03-05 00:29:51.668 +0800|

正在开发中的 PostgreSQL 19 为该函数新增了三种参数形式:

  • random(min date, max date),返回一个随机日期 x,min <= x <= max;
  • random(min timestamp, max timestamp),返回一个随机时间戳 x,min <= x <= max;
  • random(min timestamptz, max timestamptz),返回一个包含时区的随机时间戳 x,min <= x <= max。

以下是一些使用示例:

with test_data as (select random('2000-01-01'::date, '2000-04-30'::date) as rfrom generate_series(1,100000)
)
select min(r), max(r), count(*)
from test_data;min     |    max     | count  
------------+------------+--------2000-01-01 | 2000-04-30 | 100000
(1 row)with test_data as (select random('2000-01-01 01:23:45'::timestamp, '2000-04-30 01:23:45'::timestamp) as rfrom generate_series(1,100000)
)
select min(r), max(r), count(*)
from test_data;min             |            max             | count  
----------------------------+----------------------------+--------2000-01-01 01:24:10.154934 | 2000-04-30 01:19:23.423265 | 100000
(1 row)with test_data as (select random(now() - '3 months'::interval, now()) as rfrom generate_series(1,100000)
)
select min(r), max(r), count(*)
from test_data;min              |              max              | count  
-------------------------------+-------------------------------+--------2025-07-17 17:11:52.219076+02 | 2025-09-17 17:09:55.847463+02 | 100000
(1 row)

这些内置函数可以简化日期和时间相关的随机数据生成代码。

http://www.dtcms.com/a/517713.html

相关文章:

  • 制作个人网站在线国内免费crm
  • 做网站电话销售的话术吴江微信网站制作
  • 一级做a爱网站免费沧县网站制作价格
  • 什么是网站静态页面做期货看那个网站比较专业
  • RSS 参考手册
  • 江苏华东建设基础工程有限公司网站成都旅游景点排名前十
  • 成都最好的seo外包网站推广优化排名seo
  • 网站语言编程客户管理系统哪找
  • 海口市住房和城乡建设局网站怎样做1个网站
  • 一般网站后台都是哪里做网页模板下载工具
  • 如何建一个自己的网站wap网页是什么意思
  • 无锡专业做网站的公司哪家好东莞百度seo服务公司
  • 像素策略游戏:资源战争
  • 个人网站如何做流量网站qq代码生成
  • 佛山模板建站软件动态个人网站模板
  • 搭建个人博客网站网站建设了推广方案
  • 南海小程序网站开发惠安网站建设报价
  • 厦门市建设工程在哪备案网站制定 网站改版优化方案
  • 【生物大模型文章精读实践七】HyenaDNA与Transformer的简单比较实践
  • 东莞网站建设公司辉煌大厦东营 微信网站建设
  • 网站开发自学还是培训wordpress与thinkphp
  • SuperSonic Text2SQL:智能自然语言转SQL解析引擎
  • 网站关键词标题怎么写oa厂家排名
  • 华为FreeClip2小艺唤醒功能如何开启?
  • 蓝众建站_专业网站建设网站建设明细报价单
  • 做推广用的网站郑州cms建站模板
  • 网站开发薪水一般多少开发公司移交柴油发动机需要具备哪些条件
  • 武陟住房和城乡建设局网站门户网站通俗理解
  • 宁波网站排名公司东莞市建设网网上办事平台
  • 网站建设规划任务书微信朋友圈广告如何投放