创建含重量、克数、长度、高度字段的表,应选用何种数据类型?
数据库字段数据类型选择建议
对于纯数值形式的输入(如10.50),
DECIMAL(10,2)是非常合适的选择。它能精确存储两位小数的计量数值,不会出现浮点数(如FLOAT、DOUBLE)的精度丢失问题,完全匹配重量、克数、长度、高度这类需要精确记录的场景。针对带单位的输入(如100.50m),不建议直接存储带单位的字符串,否则后续的数值计算、排序、筛选都会变得异常繁琐。推荐拆分存储:
- 用
DECIMAL(10,2)存储纯数值部分(如100.50) - 新增一个短字符串字段(比如
unit,类型设为VARCHAR(10))来存储单位(如m、g、cm等),这样既保留了精确的数值信息,又能明确计量标准。
- 用
如果你的业务场景中数值范围可能超过
DECIMAL(10,2)的上限(即99999999.99),可以调整参数为DECIMAL(12,2)或更大的精度,根据实际需求灵活调整即可。
内容的提问来源于stack exchange,提问作者newstacker
相关产品推荐
相关产品推荐

