【问题标题】:ADD_MONTHS in PostgreSQLPostgreSQL 中的 ADD_MONTHS
【发布时间】:2022-01-01 16:32:11
【问题描述】:

我有问题将ADD_MONTHS Oracle 更改为 PostgreSQL。

我有这样的 Oracle 查询:

ADD_MONTHS (to_date(to_char(start_billdate,'DD-MM-YYYY'),'DD-MM-YYYY'), 
           (processed_num*periodvalue)
           )

那么如何实现对 PostgreSQL 的查询呢?

【问题讨论】:

  • to_date(to_char(start_billdate,'DD-MM-YYYY'),'DD-MM-YYYY') 在 Oracle 中几乎没用。如果start_billdatedate,则可以将其简化为start_billdate,或者如果您尝试将时间部分设置为午夜:trunc(start_billdate)

标签: postgresql oracle date database-migration date-arithmetic


【解决方案1】:

你可以用列的内容构造一个区间:

start_billdate + make_interval(months => processed_num*periodvalue)

【讨论】:

    【解决方案2】:

    一种选择可能是将月数 (processed_num * periodvalue) 乘以 interval 1 个月,然后将其添加到 start_billdate

    start_billdate + (interval '1 month' * processed_num * periodvalue);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-23
      • 2011-03-13
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 2020-12-21
      • 2011-07-17
      • 2021-01-16
      相关资源
      最近更新 更多