1

我正在 MySQL 上创建一个涉及赌博赔率(即 2/1 或 11/2)的数据库,MySQL 无法识别这种格式的数据,所以我如何为这些赌博赔率创建数据类型。我当然可以将这些以十进制形式表示,但是我想知道是否可以以这种方式存储它们?

4

3 回答 3

1

如果您不需要在计算或ORDERing 中使用它们,您可以将它们以纯文本形式存储在 VARCHAR 列中。或者您可以使用两列,一列用于第一部分,另一列用于分数的第二部分。

于 2012-05-08T22:33:29.563 回答
1

您可以使用两个字段将赔率存储为分子/分母对。如果您只想使用一个字段,唯一明智的方法是使用十进制形式。

我建议使用十进制值,除非您需要在字符串中显示赔率,在这种情况下,使用分子/分母对可能会很好。

于 2012-05-08T22:34:35.950 回答
1

我认为将它们存储为小数是前进的方向,我假设在某些时候您可能想要进行涉及赔率的计算,在这种情况下,小数会更方便。您可以使用查找表来存储 varchar 表示,因为那里有一些古怪的分数,所以它不是找到最低真分数(例如 100/30、6/4)的情况,所以您可以有一个像这样的表所以:

Decimal    |    Fraction
1.5        |    2 / 3
2.0        |    Evens
3.0        |    6 / 4
3.33       |    100 / 30
4.0        |    3 / 1
于 2012-05-08T22:44:29.107 回答