PostgreSQL:通过随机天数更改日期

Posted

技术标签:

【中文标题】PostgreSQL:通过随机天数更改日期【英文标题】:PostgreSQL: change date by the random number of days 【发布时间】:2011-01-09 12:15:27 【问题描述】:

如何通过 PostgreSQL 中的随机天数更改日期?

不幸的是 Generate a random number in the range 1 - 10 使用 trunc 的解决方案不起作用:

select date(now()) + (trunc(random()  * 20)) 

结果:

ERROR:  operator does not exist: date + double precision
LÍNEA 1: select date(now()) + (trunc(random()  * 20)) 

【问题讨论】:

【参考方案1】:
select date(now() + trunc(random()  * 20) * '1 day'::interval);

任何现有的日期列也可以用来代替now()

见:https://www.postgresql.org/docs/current/functions-datetime.html

【讨论】:

【参考方案2】:

随机性如何?例如 - 如果您想要去年的随机数据:

select cast( now() - '1 year'::interval * random()  as date );

【讨论】:

以上是关于PostgreSQL:通过随机天数更改日期的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 postgresql/netezza 从日期时间中减去天数或月数

如何计算日历表中只有值为 1 的 2 列日期之间的天数 - postgreSQL?

如何在 postgresql 视图中获取两个日期时间字段的天数和小时数差异?

如何在python中将日期的天数设置为1-30之间的任意随机数?

在计算两个随机日期之间的天数时,timepan会考虑闰年吗?

如何使用我的日期时间进行预测(随机森林模型)