用于存储小数的MySQL字段类型

ste*_*tef 4 mysql

我正在创建一个DB,它将保存具有多个"高度"列的产品(以米为单位,例如7.79或12,8).小数点之前和小数点后2位数不得超过2位数.我应该使用哪种字段类型?

如果我使用十进制(2,2)的尝试在phpMyAdmin插入7.79我得到一个错误说警告:#1264出列"working_height"范围值在第1行

我将使用这个数据库进行搜索,所以我必须能够运行像"选择高度大于7的所有产品"这样的查询.

dso*_*ano 10

你正在寻找十进制(4,2) - 一般来说,十进制(m,n)表示m位数,n位于小数点右侧.文档在这里.

因此,小数(2,2)可以存储两位小数,位于小数点的右侧.这解释了您所看到的错误.


小智 8

人们会说使用十进制(s,d),但如何将值存储为整数,以厘米而不是米为单位?更容易比较(没有精度损失).

只是我的两分钱.