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

例如:

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

最佳答案

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

low | high
0.1 | 0.4


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

SELECT *
FROM yourTable
WHERE 0.3 BETWEEN low AND high;


编辑:

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

10-04 23:19
查看更多