如何在MySQL中存储1/3作为小数

时间:2012-02-21 21:29:49

标签: mysql sqldatatypes fractions

我试图找出如何存储1/3,或者在MySQL中导致无限重复十进制值的任何分数。我不能只使用3.333333,因为它显然不会总计为100.我一直在阅读有关float数据类型但我不确定这是否可行。任何帮助将不胜感激。

谢谢

2 个答案:

答案 0 :(得分:10)

您可以将所有有理数(包括整数)表示为“分子”和“分母”。所以在你的表中你有一个分子和分母列,你的应用程序将有逻辑来使用该表单存储数字。

您仍然无法使用此技术精确存储无理数(即如果您想存储Pi,则无论如何都需要小数近似值。)

请参阅此处了解有效数字,以便了解此技术的局限性。

http://en.wikipedia.org/wiki/Rational_number

答案 1 :(得分:7)

将分子和分母存储在不同的列中。这真的很简单。当你想要添加所有分数时,真正的问题会出现。有些语言有内置功能,但我不认为MySQL会这样做。