繁体   English   中英

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

[英]using Whole and Decimal numbers in a single column in mysql

我是音乐评论者,我想建立自己的网站。 我已经在mysql中建立了一个数据库,其中有一个用于评估的列。 这里是可能性:10、9.5、9、8.5、8、7.5 ...,0.5和0

我可以使用哪种列,现在我选择DECIMAL,其值为:3,1

问题是,当我输入9时,它返回9.0 ...是否可以在列中存储整数和小数?

将它们存储为小数,但作为100的一部分。9.9将是99。然后使用php除以10并将其转换为双精度。 您可以通过除以小数和0来转换成两倍的除法。

结果/ 10.0

您正在将值与表示形式混淆。 如果您不对值进行算术运算(只是比较它们),则可以考虑将它们存储为字符串。

或者,在选择它们以进行打印时,可以根据需要设置值的格式:

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

为了格式化显示的数字,您可以使用解析mysql结果所用的任何语言进行这种处理。例如,在PHP中,您只需将其转换为浮点数并将其打印出来。

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

这将打印“ 9”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM