首页/数据/数仓建模速查/空值与默认值:区分未知与不适用
分层与规范64 条

空值与默认值:区分未知与不适用

空值语义要区分:未知(源缺失)用 null、不适用(逻辑上不存在)用特殊成员或约定值;禁止用 0、-1、1970-01-01 混当「空」。

数仓建模速查数据更新于 2026-10-12
未知null 保留
不适用特殊成员
禁止魔法值混用
统计count 与 sum 差异要说明

空值处理

空值处理
SELECT order_id,
       COALESCE(coupon_id, 'NONE') AS coupon_id,   -- 不适用:明确无券
       deliver_time                                -- 未发货:保留 null
FROM dwd_trade_order_di
WHERE dt='2026-10-12';
用 1970-01-01 表示未发生时间,会让日期计算与时长统计失真。

易错点

  • 用 0 表示未知金额,平均值被拉低

数据来源与参考

  • Kimball《数据仓库工具箱(第3版)》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌