首页/数据/数据工程与 ETL 速查/跨库类型与精度校验

跨库类型与精度校验

跨库同步的类型映射要逐字段核对:decimal 精度、float 近似、char 定长补空格、字符集(utf8mb4 与 gbk)、时间精度(秒与毫秒);类型不匹配会以“值被截断、科学计数、比较不等”的形式制造难查的差异。

类型边界抽查

类型边界抽查
SELECT order_id,
       amount,
       CAST(amount AS DECIMAL(20,6)) AS amount_hi,
       LENGTH(store_name)        AS len_raw,
       LENGTH(TRIM(store_name))  AS len_trim
FROM ods_orders
WHERE dt = '2026-10-11'
LIMIT 20;
建表显式声明精度与字符集;同步工具的类型映射配置要纳入评审,不要依赖默认推断。

易错点

  • 用 float 存金额,对账出现 0.01 级差异且长期归因错误
  • 源端 utf8mb4 目标端 utf8,表情符号入库被截断或失败

数据来源与参考

  • 行业数据集成实践(类型映射)
  • MySQL 8.0 官方文档(数据类型)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌