database compatibility assessment

ORACLE 单参数 TO_DATE/TO_TIMESTAMP(依赖会话 NLS 格式) 迁移 panweidb 3.0 A 模式 怎么改

迁衡基于规则 ora.behavior.nls_dependent_conversion 分析 ORACLE 单参数 TO_DATE/TO_TIMESTAMP(依赖会话 NLS 格式) 到 panweidb 3.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:opengauss 6.0.5 · 实测2026-07-09(og6.0.5): 单参数 TO_DATE('2024-02-03') 可解析;数据库/客户端编码均为 SQL_ASCII,无法验证 NLS_DATE_LANGUAGE/NLS_DATE_FORMAT 本地化语义,建议显式格式串
支持度partial
严重度major
置信度high
依据规则ora.behavior.nls_dependent_conversion

怎么改

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

判定说明

实测2026-07-09(og6.0.5): 单参数 TO_DATE('2024-02-03') 可解析;数据库/客户端编码均为 SQL_ASCII,无法验证 NLS_DATE_LANGUAGE/NLS_DATE_FORMAT 本地化语义,建议显式格式串

库侧 / 应用侧路径

库侧改造

可行:视图/过程内语句补显式格式串

应用侧改造

可行:应用 SQL 补显式格式串(按源库会话 NLS_DATE_FORMAT 实际值)

推荐路线:app_side。验证建议:先确认源库会话 NLS_DATE_FORMAT 实际值再定格式串;非法格式输入的报错行为比对

规则样例

SELECT TO_DATE(input_str) FROM t
SELECT TO_TIMESTAMP(ts_col) FROM log_t
SELECT TO_DATE(input_str, 'YYYY-MM-DD') FROM t