【问题标题】:PostgreSQL: change date by the random number of daysPostgreSQL:通过随机天数更改日期
【发布时间】: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)) 

【问题讨论】:

    标签: sql postgresql date random


    【解决方案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 );
      

      【讨论】:

        猜你喜欢
        • 2017-01-26
        • 1970-01-01
        • 2013-08-10
        • 2014-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        相关资源
        最近更新 更多