MYSQL MySQL 零日期字面量 迁移 PostgreSQL 16 + orafce 怎么改

迁衡基于规则 my.literal.zero_date 分析 MYSQL MySQL 零日期字面量 到 PostgreSQL 16 + orafce 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度none
严重度critical
置信度medium
依据规则my.literal.zero_date

怎么改

清洗为 NULL/合法哨兵 + 状态列

判定说明

日期类型不能存 0000-00-00;清洗策略影响业务语义,建议 PoC 复核全量数据

库侧 / 应用侧路径

库侧改造

可行:装载前转换零日期并补约束/状态列

应用侧改造

可行:修改零日期查询和默认值逻辑

推荐路线:case_by_case。验证建议:全量零日期数量、默认值、范围查询和接口序列化对照

规则样例

INSERT INTO t(dt) VALUES('0000-00-00')
SELECT * FROM t WHERE ts='0000-00-00 00:00:00'
INSERT INTO t(ts) VALUES('0000-00-00 12:00:00')

参考来源

相关改造点

社群/联系

迁移卡住时,带着案例找人复核

迁移路上遇到具体问题?微信群、1v1 咨询与邮箱,随时找得到人。

微信交流群 微信二维码

扫码添加微信,邀您加入交流群;亦可搜索微信号 prejudice_me。

邮箱咨询

m01dm01db01@foxmail.com

发源库、目标库、代码规模和已脱敏案例短链,便于估算改造工作量。