database compatibility assessment

ORACLE SYSDATE 伪函数 迁移 postgresql 16 怎么改

迁衡基于规则 ora.func.sysdate 分析 ORACLE SYSDATE 伪函数 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

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

怎么改

CURRENT_TIMESTAMP / clock_timestamp()

判定说明

CURRENT_TIMESTAMP 为事务开始时刻、SYSDATE 为实时——取值时点语义需按用途选择

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:SYSDATE 是服务器时区、语句内每次求值;改 CURRENT_TIMESTAMP/now() 时注意事务内冻结语义与时区来源差异

规则样例

SELECT SYSDATE FROM dual
UPDATE t SET updated_at = SYSDATE WHERE id = 1
SELECT CURRENT_DATE FROM dual