示例
示例
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
amount DECIMAL(12,2) NOT NULL DEFAULT 0.00,
tax_rate DECIMAL(6,4) NOT NULL DEFAULT 0.0000
);
-- 对比:二进制浮点无法精确表示 0.1
SELECT 0.1 + 0.2 = 0.3; -- 两库在浮点下都为假| DECIMAL(M,D) | M 为总位数(上限 65)、D 为小数位(上限 30) |
|---|---|
| 存储 | 按每组 9 位十进制压缩存储,计算精确 |
| FLOAT/DOUBLE | 近似类型,比较与聚合可能积累误差;科学研究等近似场景才用 |