database compatibility assessment

ORACLE REGEXP_LIKE 条件 迁移 postgresql 16 怎么改

迁衡基于规则 ora.func.regexp_like 分析 ORACLE REGEXP_LIKE 条件 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

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

怎么改

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

判定说明

PG15+ 提供 regexp_like,亦可用 ~/~* 操作符;正则方言(POSIX vs Oracle 扩展)需抽样验证

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:正则方言差异(POSIX 类、\d 等扩展、match_param 'i'/'n'/'m')需抽样验证;PG 系可改 ~ / ~* 操作符或 PG15+ 的 regexp_like

规则样例

SELECT 1 FROM t WHERE REGEXP_LIKE(code, '^[0-9]+$')
SELECT * FROM cust WHERE REGEXP_LIKE(name, 'ltd', 'i')
SELECT 1 FROM t WHERE code LIKE '9%'