mysql - 有没有办法将范围存储为存储浮点数的列的值
问题描述
我的 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;
编辑:
如果您的某些“范围”可能包含一个点,那么只需将low
andhigh
值记录为相同的值。
推荐阅读
- plot - 如何防止 octave 在 csvread 中将空白条目设为零?
- css - 如何使用 JavaFX 中的 CSS 在 JFXTextField 或 TextField 中获取圆角
- c# - 为什么我的 json 字符串没有转换成 c# 对象?
- python - 通过 K 获得每个片段的问题意味着使用 Python 和 Opencv 在单独的图像中进行分割
- javascript - 从 WebView 中的页面在外部浏览器中打开链接
- python - 在 pandas 文档中的函数中定义 [,] 参数是什么意思?
- kotlin - 时间段内的随机数
- floating-point - IEEE 754-2008 中规范 NaN 的限制
- amazon-web-services - AWS IoT:限制连接、来自设备的消息
- swift - 如何在 UIImage 上放大之前使 ScrollView 的高度和宽度保持不变?