ORACLE NEXT_DAY 函数 迁移 PostgreSQL 16 适配说明

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

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度none
严重度minor
置信度medium
依据规则ora.func.next_day

迁移建议

按 NLS_DATE_LANGUAGE 解析有效星期缩写及尾随字符,用 dow 模运算取严格下一日并 cast 以返回 DATE

判定说明

extract(dow) 不含语言、缩写尾随和 DATE 返回契约;建议 PoC 复核

库侧 / 应用侧路径

库侧改造

可行:先按源语言解析有效缩写前缀,再用 dow 模运算并 cast timestamp(0)

应用侧改造

可行:应用按源语言接受有效缩写及尾随字符,计算严格下一日并绑定无时区秒精度结果

推荐路线:case_by_case。验证建议:覆盖同星期、跨周、不同 NLS 语言、有效缩写尾随字符、非法 weekday、DST、非零时间和 timestamp/TZ 输入;确认返回 DATE 且丢失时区/小数秒

规则样例

SELECT NEXT_DAY(SYSDATE, 'MONDAY') FROM dual
SELECT NEXT_DAY(created, 'FRIDAY') FROM job_plan

参考来源

相关改造点

技术支持

微信交流群 微信二维码

微信:prejudice_me