有没有一种方法可以将范围存储为存储浮点数的列的值

时间:2019-06-26 22:54:54

标签: mysql database

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

例如:

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

1 个答案:

答案 0 :(得分:5)

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

low | high
0.1 | 0.4

现在要查找您范围内的所有记录,您只需使用BETWEEN

SELECT *
FROM yourTable
WHERE 0.3 BETWEEN low AND high;

编辑:

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