| 金额 | DECIMAL(18,2) 或整数分 |
|---|---|
| 比率 | DOUBLE,标注分母 |
| 单位 | 字段名或注释带单位 |
精度定义
精度定义
CREATE TABLE fact_pay (
pay_id string,
amount_cent bigint COMMENT '金额,单位:分',
fee_cent bigint COMMENT '手续费,单位:分'
) STORED AS ORC;混用「元」与「分」是常见事故源,字段注释与命名同时约束。
金额用整数最小单位(分)或 DECIMAL 定点数存储,禁止 FLOAT/DOUBLE 参与金额计算;比率与物理量可浮点,但要标注单位与精度。
| 金额 | DECIMAL(18,2) 或整数分 |
|---|---|
| 比率 | DOUBLE,标注分母 |
| 单位 | 字段名或注释带单位 |
CREATE TABLE fact_pay (
pay_id string,
amount_cent bigint COMMENT '金额,单位:分',
fee_cent bigint COMMENT '手续费,单位:分'
) STORED AS ORC;