ORACLE TRUNC 函数(日期截断语义) 迁移 gaussdb 505 A 模式 不支持怎么办

聚焦不兼容风险、影响范围与 PoC 复核。 本页不新增结论,只复用规则 ora.func.trunc 与目标能力矩阵证据。

先看结论

支持度partial
置信度high
严重度major

实测2026-07-09(og6.0.5): TRUNC(timestamp,'MM') 等价;TRUNC(date,'IW') 报 timestamp units "iw" not recognized,ISO 周截断需改写

不支持

需按命中位置逐条评估改写

库侧 / 应用侧

库侧

可行:目标端兼容 TRUNC(date) 时保留;否则对象内改 date_trunc 并映射单位词表('DD'→'day')

应用侧

可行:应用 SQL:日期截断改 date_trunc 并映射单位,数值截断多数目标可保留

验证建议:判定条件:参数是日期还是数值(静态无法可靠区分,逐处确认);月末/周起点边界用例比对

参考来源

社群/联系

迁移卡住时,带着案例找人复核

企业微信群、1v1 咨询和邮箱入口并列放置;二维码由站长配置,未配置时保留占位。

企业微信群活码 二维码待配置

适合迁移报错、SQL 改写和规则覆盖讨论。

企业微信 1v1 咨询 二维码待配置

适合完整代码库扫描、私有化部署和 PoC 复核。

公众号关注码 二维码待配置

用于沉淀 Oracle 去 O、PL/SQL 迁移和国产库避坑内容。

邮箱咨询

m01dm01db01@foxmail.com

发源库、目标库、代码规模和已脱敏案例短链,便于估算改造工作量。