在mysql的单个列中使用整数和十进制数

时间:2016-01-11 03:05:06

标签: mysql decimal

我是音乐评论员,我想建立自己的网站。 我在mysql中构建了一个数据库,其中包含一个评级列。 以下是可能性:10,9.5,9,8.5,8,7.5 ...... 1,0.5和0

我可以使用什么样的colum,现在我选择DECIMAL,其值为:3,1

问题是,当我输入9时,它返回9.0 ...有没有办法在一列中存储整数和十进制数?

3 个答案:

答案 0 :(得分:0)

将它们存储为小数但作为100的一部分存储.9.9将为99.然后使用php除以10并将其转换为double。  您可以通过添加小数和0来转换为加倍。

结果/ 10.0

答案 1 :(得分:0)

您正在将值与表示混为一谈。如果你没有对值进行算术运算(只是比较它们),那么你可以考虑将它们存储为字符串。

或者,当选择它们进行打印时,您可以根据需要格式化值:

select (case when rating % 1 = 0 then format(rating, 0)
             else format(rating, 1)
        end)

答案 2 :(得分:0)

为了格式化显示的数字,你可以使用你正在解析mysql结果的任何语言进行那种处理。例如,在PHP中,你只需要转换为浮点并打印它。

$string = '9.0000000';
echo (float)$string;

这会打印'9'。