在sql数据库中存储一个范围/多个范围(uppar限制可能未知)

nxowjjhe  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(281)

我想在sql表列中存储范围。例如,
金额大于10000
金额大于20000
金额20000-100000
金额100001-最大值
然后使用类似于ex的查询过滤行。
其中金额=10010
其中金额=20500
其中金额=6235633
plz建议如何处理2列低-高或建议一个更可行的解决方案,以及如何存储最大未知值

uklbhaso

uklbhaso1#

创建可为null的表 low 以及 high 领域。
然后您可以选择如下记录:

SELECT * 
FROM table1 t1
WHERE <?> BETWEEN IFNULL(t1.low, <min_value>) AND IFNULL(t2.high, <max_value>)

条件可以在没有 min 以及 max 价值观:

WHERE <?> BETWEEN t1.low AND t2.high AND t1.low + t2.hight IS NOT NULL
    OR <?> >= t1.low AND t1.high IS NULL
    OR <?> <= t1.high AND t1.low IS NULL

相关问题