database compatibility assessment

ORACLE 单参数 TO_DATE/TO_TIMESTAMP(依赖会话 NLS 格式) 迁移 postgresql 16 怎么改

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

兼容性判定

支持度none
严重度major
置信度high
依据规则ora.behavior.nls_dependent_conversion

怎么改

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

判定说明

无 NLS 会话格式机制;必须补显式格式串

库侧 / 应用侧路径

库侧改造

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

应用侧改造

可行:应用 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