首页 > 解决方案 > 有没有办法将范围存储为存储浮点数的列的值

问题描述

我的 mysql 数据库中有一个列,它存储像 0.4 这样的浮点值。问题是,这个值列有时也需要存储 0.1-0.4 之类的范围。现在该列设置为双精度数据类型,我知道我可以通过将数据类型设置为字符串并在我的端点中进行自己的解析来实现我想要的,但是我想知道是否有更优雅的方式来实现我想要的. 谢谢。

前任:

id  |   name |   value |
1     test1      12.01
2     test2      13.01-15.02

标签: mysqldatabase

解决方案


如果您需要在 SQL 表中存储或表示在逻辑上表示两个值的范围,那么最简单的方法是使用两列。例如:

low | high
0.1 | 0.4

现在要查找您范围内的所有记录,您可以简单地使用BETWEEN

SELECT *
FROM yourTable
WHERE 0.3 BETWEEN low AND high;

编辑:

如果您的某些“范围”可能包含一个点,那么只需将lowandhigh值记录为相同的值。


推荐阅读