database compatibility assessment

ORACLE ADD_MONTHS 函数 迁移 postgresql 16 怎么改

迁衡基于规则 ora.func.add_months 分析 ORACLE ADD_MONTHS 函数 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

支持度none
严重度minor
置信度high
依据规则ora.func.add_months

怎么改

x + make_interval(months => n)

判定说明

月末对齐语义(1/31+1月=2/28)需自行处理

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:月末对齐语义(1/31 + 1 月 = 2/28)是回归重点:目标端等价函数或 interval 改写在月末输入下行为可能不同

规则样例

SELECT ADD_MONTHS(SYSDATE, 3) FROM dual
SELECT * FROM bill WHERE due_date < ADD_MONTHS(created, 12)
SELECT created + 90 FROM bill