【问题标题】:Storing Ratio as number in MySQL database column将比率存储为 MySQL 数据库列中的数字
【发布时间】:2014-07-31 07:48:00
【问题描述】:

我想在我的数据库中存储比率。比率的一个例子是:4:5, 6:7 等。我想根据比率进行查询。

我考虑在 MySQL 中将它们存储为小数 (9,3),以便将它们作为数字而不是文本进行查询。比率可以是很长的数字,例如 1.77777777778 表示 16:9。

将它存储在 MySQL 数据库中以便以后查询的适当方法是什么。

【问题讨论】:

  • 两列,numeratordenominator
  • 似乎是最好的解决方案,写下来,我会接受。谢谢

标签: mysql sql database-design database-schema


【解决方案1】:

将它们存储在两列中,numeratordenominator

插入和更新数据的代码应该确保比率降低到最低形式,或者在比较时需要执行除法,例如

SELECT blah
FROM table
WHERE numerator/denominator = 16/9

【讨论】:

  • 感谢 Barmar 和其他提供帮助的人。
【解决方案2】:

最好将其存储为 2 列。 由于 4:5 和 8:10 产生相同的结果,因此如果存储在不同的列中,您可以获得准确的值。

您可以保存为 2 个 INTEGER 或 NUMERIC 值。

您的选择查询可以是:

SELECT NUM1, NUM2, NUM1/NUM2 AS RATIO FROM MY_TABLE

【讨论】:

  • @IdanShechter:如果有帮助,您可以投票并接受作为答案!谢谢!
猜你喜欢
  • 2020-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2011-02-08
  • 2012-09-26
  • 2015-08-26
相关资源
最近更新 更多