先看结论
支持度none
置信度high
严重度major
PG substr 负起始位是完全不同语义(不报错、结果错)——高危静默差异
不支持
right(s, n)
库侧 / 应用侧
库侧
可行:目标端兼容模式承接负起始位时保留;否则创建兼容 SUBSTR(负起始位=尾部倒数)
应用侧
可行:改 right()/长度表达式,逐处确认负值来源
验证建议:负起始位含越界(|pos|>串长)用例比对——目标原生 substr 不报错但结果错,必测