我需要一个百分比字段
25% => 0.25
30% => 0.30
我需要将字段设置为哪种数据类型?
如何确定带整数字段等小数的字段范围? (例如,tinyint unsigned是0-255)
我需要在查询中进行一些计算
答案 0 :(得分:2)
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
对于MySQL 5.0.3及更高版本:
打包的“精确”定点数。中号 是总位数( 精度)和D是数字 小数点后的数字( 规模)。小数点和(对于 负数)“ - ”符号不是 如果D为0,则值为 没有小数点或小数部分。 最大位数(M) DECIMAL是65(64从5.0.3到 5.0.5)。支持的最大小数(D)为30.如果D为 省略,默认值为0.如果M是 省略,默认为10.
UNSIGNED,如果指定,则禁止 负值。
所有基本计算(+, - ,*,/) 使用DECIMAL列完成 精度为65位。
注意:如果您希望该字段的最大值介于0-99.99之间,请使用
ALTER TABLE `table_name` ADD `percentage` DECIMAL( 5, 2 ) NOT NULL
答案 1 :(得分:1)
在plethora of MySQL numeric types中,FLOAT或REAL可能是您最好的选择(取决于您要存储的内容)。
答案 2 :(得分:0)
你应该使用至少5位的FLOAT字段
答案 3 :(得分:0)
decimal
怎么样? :)
您甚至可以设置精度:
CREATE TABLE yourtable ( percentage decimal(10,2) ... );
答案 4 :(得分:0)
你肯定想要DECIMAL
类型; FLOAT
遭受与所有花车相同的不精确性。