SQL Numeric Data 数值数据
SQL 里表示数字的数据类型。
常见类型
| 类型 | 范围 / 精度 | 用途 |
|---|---|---|
TINYINT | -128 ~ 127 | 小整数、状态标志 |
INT | -21 亿 ~ 21 亿 | 一般整数、ID |
BIGINT | 约 -9.2×10^18 ~ 9.2×10^18 | 大 ID、计数器、时间戳 |
DECIMAL(M, N) | 定点小数 | 金额!不会丢精度 |
FLOAT / DOUBLE | 浮点 | 科学计算 |
关键陷阱
钱不要用 FLOAT,要用 DECIMAL。
0.1 + 0.2 = 0.30000000000000004,浮点误差对账目是灾难。
-- 对:
amount DECIMAL(10, 2) -- 最大 99,999,999.99,精确到分
-- 错:
amount FLOATstring data、date and time data 是另外两大类。